Java 在eclipse运行时运行android项目时出错错误

Java 在eclipse运行时运行android项目时出错错误,java,android,runtime,Java,Android,Runtime,代码是: 05-05 14:32:25.210: ERROR/AndroidRuntime(551): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.org.pc/com.org.pc.Login}: java.lang.NullPointerException 05-05 14:32:25.210: ERROR/AndroidRuntime(551): at android.app.Acti

代码是:

05-05 14:32:25.210: ERROR/AndroidRuntime(551): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.org.pc/com.org.pc.Login}: java.lang.NullPointerException
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2496)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread.access$2200(ActivityThread.java:119)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.os.Handler.dispatchMessage(Handler.java:99)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.os.Looper.loop(Looper.java:123)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread.main(ActivityThread.java:4363)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at java.lang.reflect.Method.invokeNative(Native Method)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at java.lang.reflect.Method.invoke(Method.java:521)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at dalvik.system.NativeStart.main(Native Method)
05-05 14:32:25.210: ERROR/AndroidRuntime(551): Caused by: java.lang.NullPointerException
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at com.org.pc.Login.loginDetails(Login.java:116)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at com.org.pc.Login.onCreate(Login.java:54)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
05-05 14:32:25.210: ERROR/AndroidRuntime(551):     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
package com.org.pc;
导入java.io.DataOutputStream;
导入java.io.IOException;
导入java.io.InputStream;
导入java.net.HttpURLConnection;
导入java.net.URL;
导入java.net.URLConnection;
导入java.util.ArrayList;
导入java.util.List;
导入org.apache.http.HttpEntity;
导入org.apache.http.HttpResponse;
导入org.apache.http.NameValuePair;
导入org.apache.http.client.ClientProtocolException;
导入org.apache.http.client.HttpClient;
导入org.apache.http.client.entity.UrlEncodedFormEntity;
导入org.apache.http.client.methods.HttpPost;
导入org.apache.http.impl.client.DefaultHttpClient;
导入org.apache.http.message.BasicNameValuePair;
导入org.apache.http.util.EntityUtils;
导入android.app.Activity;
导入android.content.Intent;
导入android.content.SharedReferences;
导入android.graphics.Bitmap;
导入android.graphics.drawable.drawable;
导入android.os.Bundle;
导入android.util.Log;
导入android.view.view;
导入android.widget.Button;
导入android.widget.CheckBox;
导入android.widget.CompoundButton;
导入android.widget.CompoundButton.OnCheckedChangeListener;
导入android.widget.EditText;
导入android.widget.ImageView;
公共类登录扩展活动{
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
Log.i(“登录”、“到达”);
Log.i(“登录”、“视图集”);
位图位图=(位图)this.getIntent().getParcelableExtra(“位图图像”);
如果(位图==null)
Log.v(“Sdrawable”、“null”);
其他的
Log.v(“Sdrawable”,“非空”);
loginDetails();
setContentView(R.layout.view);
ImageView viewBitmap=(ImageView)findViewById(R.id.bitmapview);
viewBitmap.setImageBitmap(位图);
按钮登录=(按钮)findViewById(R.id.login);
SharedReferences pref=GetSharedReferences(PREFS\u名称、模式\u私有);
用户名=pref.getString(pref_用户名,null);
password=pref.getString(pref_password,null);
如果(用户名!=null和密码!=null)
{
Log.v(“用户名”,用户名);
//user.setText(用户名);
//pass.setText(密码);
}
login.setOnClickListener(新建按钮.OnClickListener()
{ 
公共void onClick(视图v)
{ 
setContentView(R.layout.home);
}
});
}
公共静态最终字符串PREFS_NAME=“PrefsFile”;
私有静态最终字符串PREF_USERNAME=“USERNAME”;
私有静态最终字符串PREF_PASSWORD=“PASSWORD”;
公共字符串username=null;
公共字符串密码=null;
//EditText用户=(EditText)findViewById(R.id.username);
//EditText pass=(EditText)findViewById(R.id.password);
公共无效登录详细信息()
{
如果(用户名==null | |密码==null)
{
//username=user.getText().toString();
//password=pass.getText().toString();
}
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://69.10.60.88:88/BZLogin.aspx");
试一试{
//添加您的数据
List nameValuePairs=新的ArrayList(2);
添加(新的BasicNameValuePair(“用户名”、“阿卜杜勒”);
添加(新的BasicNameValuePair(“密码”、“阿卜杜勒”);
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
//执行HTTP Post请求
HttpResponse response=httpclient.execute(httppost);
HttpEntity当前性=response.getEntity();
如果(最近性!=null){
Log.i(“响应”,EntityUtils.toString(resEntity));
}
复选框cb=(复选框)findViewById(R.id.memory);
if(cb.isChecked())
{
GetSharedReferences(首选名称、模式\私有)
.edit()
.putString(首选用户名、用户名)
.putString(首选密码、密码)
.commit();
}
}捕获(客户端协议例外e){
//TODO自动生成的捕捉块
}捕获(IOE异常){
//TODO自动生成的捕捉块
}
}
}

在将布局扩展到活动之前,您正在调用loginDetails()。因此,不存在ui元素。调用
setContentView()
之前,请先调用
findViewById()

您调用的
复选框cb=(CheckBox)findViewById(R.id.memory)
之前的
setContentView(R.layout.view)
。这可能就是原因。 在
setContentView(R.layout.view)
之后调用
loginDetails()

package com.org.pc;

import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;
import org.apache.http.util.EntityUtils;



import android.app.Activity;
import android.content.Intent;
import android.content.SharedPreferences;
import android.graphics.Bitmap;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.CompoundButton;
import android.widget.CompoundButton.OnCheckedChangeListener;
import android.widget.EditText;
import android.widget.ImageView;


public class Login extends Activity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);   
        Log.i("Login","Reached");

        Log.i("Login","View set");

        Bitmap bitmap = (Bitmap) this.getIntent().getParcelableExtra("BitmapImage");
        if(bitmap==null)
            Log.v("Sdrawable","null");
        else
            Log.v("Sdrawable","not null");
        loginDetails();
        setContentView(R.layout.view);
        ImageView viewBitmap = (ImageView)findViewById(R.id.bitmapview);
        viewBitmap.setImageBitmap(bitmap);
        Button login=(Button) findViewById(R.id.login);
        SharedPreferences pref = getSharedPreferences(PREFS_NAME,MODE_PRIVATE);   
        username = pref.getString(PREF_USERNAME, null);
        password = pref.getString(PREF_PASSWORD, null);
        if(username != null && password != null) 
        {
            Log.v("username",username);
            //user.setText(username);
            //pass.setText(password);
        }

         login.setOnClickListener(new Button.OnClickListener() 
         { 
             public void onClick (View v)
             { 
                 setContentView(R.layout.home); 
             }
             });




    }

    public static final String PREFS_NAME = "PrefsFile";
    private static final String PREF_USERNAME = "username";
    private static final String PREF_PASSWORD = "password";
    public String username = null;
    public String password = null;
    //EditText user = (EditText)findViewById(R.id.username);
    //EditText pass = (EditText)findViewById(R.id.password);
    public void loginDetails()
    {

        if (username == null || password == null) 
        {
        //  username = user.getText().toString();
        //  password = pass.getText().toString();
        }

        HttpClient httpclient = new DefaultHttpClient();
        HttpPost httppost = new HttpPost("http://69.10.60.88:88/BZLogin.aspx");

        try {
            // Add your data
            List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
            nameValuePairs.add(new BasicNameValuePair("username", "abdul"));
            nameValuePairs.add(new BasicNameValuePair("password", "abdul"));
            httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));

            // Execute HTTP Post Request
            HttpResponse response = httpclient.execute(httppost);
            HttpEntity resEntity = response.getEntity();  
            if (resEntity != null) {    
                Log.i("RESPONSE",EntityUtils.toString(resEntity));
            }
            CheckBox cb = (CheckBox)findViewById(R.id.remember);

                    if ( cb.isChecked() )
                    {

                        getSharedPreferences(PREFS_NAME,MODE_PRIVATE)
                        .edit()
                        .putString(PREF_USERNAME, username)
                        .putString(PREF_PASSWORD, password)
                        .commit();
                    }




        } catch (ClientProtocolException e) {
            // TODO Auto-generated catch block
        } catch (IOException e) {
            // TODO Auto-generated catch block
        }

    }
}