Форум программистов, компьютерный форум, киберфорум
Наши страницы

NullPointerException в дополнительной активности - Программирование Android

Войти
Регистрация
Восстановить пароль
Другие темы раздела
Программирование Android Узнать выбранная дата через datePicker равна ли сегодняшнему дню http://www.cyberforum.ru/android-dev/thread951979.html
Как можно узнать, что выбранная дата через datePicker равна дате сегодня. Т.е. если на пикере выбрано 20.04.2013, а сегодня тоже 20.04.2013 то сказать, что дата сегодняшняя. А если на пикере дата не...
Программирование Android Изменение размера шрифта в стиле программно Здрасте) Можно ли в коде программы работать со стилями и изменять их параметры, если да, то как? Я сделал стиль для кнопок, и хотел бы изменять размер шрифта на кнопках(на всех кнопках) при... http://www.cyberforum.ru/android-dev/thread951547.html
подскажите примеры по opengl es Программирование Android
пытаюсь разобраться ,но нуля тяжеловато, можете скинуть пару-тройку примеров ? Желательно с 3d моделями (в идеале хочу разобраться в построении куба и его вращения касанием )
Программирование Android Добавить язык (локаль) если её нет в системе
Можно ли как-нибудь через свое приложение добавить язык (локаль) если её нет в системе?
Программирование Android Собеседование Android Junior http://www.cyberforum.ru/android-dev/thread951096.html
Доброго времени и суток! Живу в провинциальном городке и таких вакансий у нас мало. Через дня 3 собеседование. Опыта с android мало (пару приложений по работе с БД и базовыми вещами), знания есть,...
Программирование Android Дизайн EditText Приветствую,снова) Возник вопрос по дизайну,так скажем.Вот фотография: http://i.imgur.com/pNrnE0r.jpg Как вы могли заметить,сейчас вся форма,сосб-но ее background,это серый цвет.Как расширить... подробнее

Показать сообщение отдельно
Xodock
98 / 0 / 1
Регистрация: 23.07.2012
Сообщений: 7

NullPointerException в дополнительной активности - Программирование Android

11.09.2013, 01:19. Просмотров 867. Ответов 10
Метки (Все метки)

Доброй ночи. Постараюсь сразу изложить проблему.
Есть код, который через php-прослойку, по ссылке, получает данные из mysql БД, через json, возвращаемый сервером, и есть две активности: Главная(MainActivity) и вторая (LoginActivity). В главной код работает, во второй, при нажатии на кнопку, выбрасывает:
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
09-10 20:59:17.581: E/AndroidRuntime(1620): FATAL EXCEPTION: main
09-10 20:59:17.581: E/AndroidRuntime(1620): java.lang.NullPointerException
09-10 20:59:17.581: E/AndroidRuntime(1620):     at com.walker.android_php_mysql.LoginActivity.ListDrwaer(LoginActivity.java:132)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at com.walker.android_php_mysql.LoginActivity$JsonReadTask.onPostExecute(LoginActivity.java:95)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at com.walker.android_php_mysql.LoginActivity$JsonReadTask.onPostExecute(LoginActivity.java:1)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.os.AsyncTask.finish(AsyncTask.java:631)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.os.AsyncTask.access$600(AsyncTask.java:177)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.os.AsyncTask$InternalHandler.handleMessage(AsyncTask.java:644)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.os.Handler.dispatchMessage(Handler.java:99)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.os.Looper.loop(Looper.java:137)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at android.app.ActivityThread.main(ActivityThread.java:5039)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at java.lang.reflect.Method.invokeNative(Native Method)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at java.lang.reflect.Method.invoke(Method.java:511)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
09-10 20:59:17.581: E/AndroidRuntime(1620):     at dalvik.system.NativeStart.main(Native Method)
Прилагаю ссылку на архив с проектом, коды активностей и шаблонов. Работаю в Eclips'e.
Если нужно добавить еще инфы - добавлю.
В разработке под android новичок, с java знакомство тоже начал недавно. Пока не во всё въезжаю.
Вопрошаю о помощи, уважаемые форумчане.

Архив с проектом:
http://rghost.ru/48683375

Главная активность:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
package com.walker.android_php_mysql;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
 
public class MainActivity extends Activity {
 
     private String jsonResult;
     private String url = "http://ao96.ru/android.php?column=password&table=android_users&username=walker";
     private ListView listView;
     
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
      listView = (ListView) findViewById(R.id.listView1);
      //accessWebService();
     }
     
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
     }
 // Async Task to access the web
    private class JsonReadTask extends AsyncTask<String, Void, String> {
     @Override
     protected String doInBackground(String... params) {
      HttpClient httpclient = new DefaultHttpClient();
      HttpPost httppost = new HttpPost(params[0]);
      try {
       HttpResponse response = httpclient.execute(httppost);
       jsonResult = inputStreamToString(
         response.getEntity().getContent()).toString();
       
      }
    
      catch (ClientProtocolException e) {
       e.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
      return jsonResult;
     }
    
     private StringBuilder inputStreamToString(InputStream is) {
      String rLine = "";
      StringBuilder answer = new StringBuilder();
      BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    
      try {
       while ((rLine = rd.readLine()) != null) {
        answer.append(rLine);
       }
      }
    
      catch (IOException e) {
       // e.printStackTrace();
       Toast.makeText(getApplicationContext(),
         "Error..." + e.toString(), Toast.LENGTH_LONG).show();
      }
      return answer;
     }
    
     @Override
     protected void onPostExecute(String result) {
      ListDrwaer();
      Toast.makeText(getApplicationContext(),  result, Toast.LENGTH_LONG).show();
     }
    }// end async task
    
    public void accessWebService(String link) {
     JsonReadTask task = new JsonReadTask();
     // passes values for the urls string array
     task.execute(new String[] { link });
     //Toast.makeText(getApplicationContext(),  jsonResult, Toast.LENGTH_LONG).show();
    }
    
    // build hash set for list view
    public void ListDrwaer() {
     List<Map<String, String>> employeeList = new ArrayList<Map<String, String>>();
    
     try {
         
      JSONObject jsonResponse = new JSONObject(jsonResult);
      JSONArray jsonMainNode = jsonResponse.optJSONArray("emp_info");
 
      for (int i = 0; i < jsonMainNode.length(); i++) {
       JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
       String name = jsonChildNode.optString("password");
       //String number = jsonChildNode.optString("employee no");
       String outPut = name;// + "-" + number;
       employeeList.add(createEmployee("employees", outPut));
      }
     } catch (JSONException e) {
      Toast.makeText(getApplicationContext(), "Error" + e.toString(),
        Toast.LENGTH_SHORT).show();
      
     }
    
     SimpleAdapter simpleAdapter = new SimpleAdapter(this, employeeList,
       android.R.layout.simple_list_item_1,
       new String[] { "employees" }, new int[] { android.R.id.text1 });
     listView.setAdapter(simpleAdapter);
    }
    
    private HashMap<String, String> createEmployee(String name, String number) {
     HashMap<String, String> employeeNameNo = new HashMap<String, String>();
     employeeNameNo.put(name, number);
     //Toast.makeText(getApplicationContext(),  jsonResult, Toast.LENGTH_LONG).show();
     return employeeNameNo;
    }
    public void toLogin(View v)
    {
        //Intent intent = new Intent(MainActivity.this, LoginActivity.class);
        //startActivity(intent);
        accessWebService(url);
    }
    public void toLogin1(View v)
    {
        Intent intent = new Intent(MainActivity.this, LoginActivity.class);
        startActivity(intent);
        //accessWebService(url);
    }
   }
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:onClick="toLogin1"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
 
    <ListView
        android:id="@+id/listView1"
        android:layout_width="match_parent"
        android:layout_height="500dp"
        android:layout_alignParentTop="true" >
 
    </ListView>
 
    <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignRight="@+id/listView1"
        android:layout_marginRight="23dp"
        android:onClick="toLogin"
        android:text="@string/logon" />
 
    <EditText
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/button1"
        android:layout_marginTop="45dp"
        android:ems="10" >
 
        <requestFocus />
    </EditText>
 
    <EditText
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/editText1"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/editText1"
        android:ems="10"
        android:inputType="textPassword" />
 
    <Button
        android:id="@+id/button2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_below="@+id/editText2"
        android:layout_marginTop="58dp"
        android:onClick="toLogin1"
        android:text="Button" />
 
</RelativeLayout>
Вторая активность:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
package com.walker.android_php_mysql;
 
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
 
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;
 
import android.os.AsyncTask;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.widget.Toast;
 
public class LoginActivity extends Activity {
    private EditText username;
    private EditText password;
     private String jsonResult;
     private String url = "http://ao96.ru/android.php?column=password&table=android_users&username=walker";
     private ListView listView;
     
     @Override
     protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.logon);
      listView = (ListView) findViewById(R.id.listView1);
      //accessWebService();
     }
     
     @Override
     public boolean onCreateOptionsMenu(Menu menu) {
      // Inflate the menu; this adds items to the action bar if it is present.
      getMenuInflater().inflate(R.menu.main, menu);
      return true;
     }
 // Async Task to access the web
    private class JsonReadTask extends AsyncTask<String, Void, String> {
     @Override
     protected String doInBackground(String... params) {
      HttpClient httpclient = new DefaultHttpClient();
      HttpPost httppost = new HttpPost(params[0]);
      try {
       HttpResponse response = httpclient.execute(httppost);
       jsonResult = inputStreamToString(
         response.getEntity().getContent()).toString();
       
      }
    
      catch (ClientProtocolException e) {
       e.printStackTrace();
      } catch (IOException e) {
       e.printStackTrace();
      }
      return jsonResult;
     }
    
     private StringBuilder inputStreamToString(InputStream is) {
      String rLine = "";
      StringBuilder answer = new StringBuilder();
      BufferedReader rd = new BufferedReader(new InputStreamReader(is));
    
      try {
       while ((rLine = rd.readLine()) != null) {
        answer.append(rLine);
       }
      }
    
      catch (IOException e) {
       // e.printStackTrace();
       Toast.makeText(getApplicationContext(),
         "Error..." + e.toString(), Toast.LENGTH_LONG).show();
      }
      return answer;
     }
    
     @Override
     protected void onPostExecute(String result) {
      ListDrwaer();
      Toast.makeText(getApplicationContext(),  result, Toast.LENGTH_LONG).show();
     }
    }// end async task
    
    public void accessWebService(String link) {
     JsonReadTask task = new JsonReadTask();
     // passes values for the urls string array
     task.execute(new String[] { link });
     //Toast.makeText(getApplicationContext(),  jsonResult, Toast.LENGTH_LONG).show();
    }
    
    // build hash set for list view
    public void ListDrwaer() {
     List<Map<String, String>> employeeList = new ArrayList<Map<String, String>>();
    
     try {
         
      JSONObject jsonResponse = new JSONObject(jsonResult);
      JSONArray jsonMainNode = jsonResponse.optJSONArray("emp_info");
 
      for (int i = 0; i < jsonMainNode.length(); i++) {
       JSONObject jsonChildNode = jsonMainNode.getJSONObject(i);
       String name = jsonChildNode.optString("password");
       //String number = jsonChildNode.optString("employee no");
       String outPut = name;// + "-" + number;
       employeeList.add(createEmployee("employees", outPut));
      }
     } catch (JSONException e) {
      Toast.makeText(getApplicationContext(), "Error" + e.toString(),
        Toast.LENGTH_SHORT).show();
      
     }
    
     SimpleAdapter simpleAdapter = new SimpleAdapter(this, employeeList,
       android.R.layout.simple_list_item_1,
       new String[] { "employees" }, new int[] { android.R.id.text1 });
     listView.setAdapter(simpleAdapter);
    }
    
    private HashMap<String, String> createEmployee(String name, String number) {
     HashMap<String, String> employeeNameNo = new HashMap<String, String>();
     employeeNameNo.put(name, number);
     //Toast.makeText(getApplicationContext(),  jsonResult, Toast.LENGTH_LONG).show();
     return employeeNameNo;
    }
    public void toLogin(View v)
    {
        //Intent intent = new Intent(MainActivity.this, LoginActivity.class);
        //startActivity(intent);
        username = (EditText) findViewById(R.id.editText1);
        password = (EditText) findViewById(R.id.editText2);
        String link = "http://ao96.ru/android.php?column=password&table=android_users&username="+username.getText().toString();
        accessWebService(link);
    }
   }
XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:onClick="toLogin" >
 
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >
 
        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10" >
 
            <requestFocus />
        </EditText>
 
        <EditText
            android:id="@+id/editText2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPassword" />
 
        <Button
            android:id="@+id/button1"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:onClick="toLogin"
            android:text="@string/play_button" />
 
    </LinearLayout>
    
 
</ScrollView>
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru