Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/heroku/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
android java在不重新启动的情况下运行活动_Java_Android - Fatal编程技术网

android java在不重新启动的情况下运行活动

android java在不重新启动的情况下运行活动,java,android,Java,Android,我创建了一个简单的应用程序,可以登录到DB并从中获取数据。但是现在我发现了一个问题:如果你第一次写错了登录数据,然后第二次尝试登录,那么它将无法工作。你必须重新启动它 我认为这段代码有一个问题:已编辑 public class MyMoodleApplicationActivity extends Activity { /** Called when the activity is first created. */ EditText username; EditText password; @

我创建了一个简单的应用程序,可以登录到DB并从中获取数据。但是现在我发现了一个问题:如果你第一次写错了登录数据,然后第二次尝试登录,那么它将无法工作。你必须重新启动它

我认为这段代码有一个问题:已编辑

public class MyMoodleApplicationActivity extends Activity {
/** Called when the activity is first created. */
EditText username;
EditText password;
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    username = (EditText)findViewById(R.id.username);
    password = (EditText)findViewById(R.id.password);
    final Button loginButton = (Button)findViewById(R.id.login);      
    loginButton.setOnClickListener(loginListener);
    final Button clearButton = (Button)findViewById(R.id.clear);
    clearButton.setOnClickListener(clearListener);
}
private OnClickListener loginListener = new OnClickListener(){

    public void onClick(View v){
        String usr = username.getText().toString();
        String psw = password.getText().toString();
        System.out.println("Username: "+usr);
        System.out.println("Password: "+psw);
        ArrayList<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
        nameValuePairs.add(new BasicNameValuePair("usern",""+usr));
        nameValuePairs.add(new BasicNameValuePair("passw",""+psw));
        InputStream is = null; 
        String result = "";
        //http post
        try{
                HttpClient httpclient = new DefaultHttpClient();
                HttpPost httppost = new HttpPost("http://ik.su.lt/*****");
                httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
                HttpResponse response = httpclient.execute(httppost);
                HttpEntity entity = response.getEntity();
                is = entity.getContent();
        }catch(Exception e){
                Log.e("log_tag", "Error in http connection "+e.toString());
        }
        //convert response to string
        try{
                BufferedReader reader = new BufferedReader(new InputStreamReader(is,"iso-8859-1"),8);
                StringBuilder sb = new StringBuilder();
                String line = null;
                while ((line = reader.readLine()) != null) {
                        sb.append(line + "\n");
                }
                is.close();

                result=sb.toString();
        }catch(Exception e){
                Log.e("log_tag", "Error converting result "+e.toString());
        }
        String usernameFromDB = "";
        String firstnameFromDB = "";
        String lastnameFromDB = "";
        String emailFromDB = "";
        String phoneFromDB = "";
        String skypeFromDB = "";
        String cityFromDB = "";
        String descriptionFromDB = "";
        try{
                JSONArray jArray = new JSONArray(result);
                for(int i=0;i<jArray.length();i++){
                        JSONObject json_data = jArray.getJSONObject(i);
                        usernameFromDB = json_data.getString("username");
                        firstnameFromDB = json_data.getString("firstname");
                        lastnameFromDB = json_data.getString("lastname");
                        emailFromDB = json_data.getString("email");
                        phoneFromDB = json_data.getString("phone1");
                        skypeFromDB = json_data.getString("skype");
                        cityFromDB = json_data.getString("city");
                        descriptionFromDB = json_data.getString("description");

                        System.out.println(usernameFromDB+ "  " + firstnameFromDB+"  "+lastnameFromDB+"  "
                                + emailFromDB + "  " + phoneFromDB +"  " + skypeFromDB+ "  " + cityFromDB + "  "+
                                descriptionFromDB);
                }
        }
        catch(JSONException e){
            AlertDialog alertDialog = new AlertDialog.Builder(MyMoodleApplicationActivity.this).create();
            alertDialog.setTitle("Klaida!");
            alertDialog.setMessage("Toks vartotojas neegzistuoja");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    return;
                }
            });
            alertDialog.show();
                Log.e("log_tag", "Error parsing data "+e.toString());
        }
        if(usr.length()== 0){
            AlertDialog alertDialog = new AlertDialog.Builder(MyMoodleApplicationActivity.this).create();
            alertDialog.setTitle("Klaida!");
            alertDialog.setMessage("Jūs neįvedėte slapyvardžio");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    return;
                }
            });
            alertDialog.show();
        }
        else if(psw.length()==0){
            AlertDialog alertDialog = new AlertDialog.Builder(MyMoodleApplicationActivity.this).create();
            alertDialog.setTitle("Klaida!");
            alertDialog.setMessage("Jūs neįvedėte slaptažodžio");
            alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

                @Override
                public void onClick(DialogInterface dialog, int which) {
                    // TODO Auto-generated method stub
                    return;
                }
            });
            alertDialog.show();
        }
        else if (usr.equals(usernameFromDB)){
            Intent in = new Intent(getApplicationContext(), LoggedUser.class);
            in.putExtra("firstname", firstnameFromDB);
            in.putExtra("lastname", lastnameFromDB);
            in.putExtra("email", emailFromDB);
            in.putExtra("phone1", phoneFromDB);
            in.putExtra("skype", skypeFromDB);
            in.putExtra("city", cityFromDB);
            in.putExtra("description", descriptionFromDB);

            startActivity(in);
            finish();
    }
}};

private OnClickListener clearListener = new OnClickListener(){
    @Override
    public void onClick(View v){
        username.setText("");
        password.setText("");
    }
};
公共类MyMoodleApplicationActivity扩展活动{
/**在首次创建活动时调用*/
编辑文本用户名;
编辑文本密码;
@凌驾
创建时的公共void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
用户名=(EditText)findViewById(R.id.username);
密码=(EditText)findViewById(R.id.password);
最终按钮登录按钮=(按钮)findViewById(R.id.login);
setOnClickListener(loginListener);
最终按钮clearButton=(按钮)findViewById(R.id.clear);
clearButton.setOnClickListener(clearListener);
}
private OnClickListener loginListener=new OnClickListener(){
公共void onClick(视图v){
字符串usr=username.getText().toString();
字符串psw=password.getText().toString();
System.out.println(“用户名:+usr”);
System.out.println(“密码:+psw”);
ArrayList nameValuePairs=新的ArrayList();
添加(新的BasicNameValuePair(“usern”、“usr”);
添加(新的BasicNameValuePair(“passw”,即“+psw));
InputStream=null;
字符串结果=”;
//http post
试一试{
HttpClient HttpClient=新的DefaultHttpClient();
HttpPost HttpPost=新的HttpPost(“http://ik.su.lt/*****");
setEntity(新的UrlEncodedFormEntity(nameValuePairs));
HttpResponse response=httpclient.execute(httppost);
HttpEntity=response.getEntity();
is=entity.getContent();
}捕获(例外e){
e(“Log_标记”,“http连接错误”+e.toString());
}
//将响应转换为字符串
试一试{
BufferedReader reader=新的BufferedReader(新的InputStreamReader(is,“iso-8859-1”),8;
StringBuilder sb=新的StringBuilder();
字符串行=null;
而((line=reader.readLine())!=null){
sb.追加(第+行“\n”);
}
is.close();
结果=sb.toString();
}捕获(例外e){
Log.e(“Log_标记”,“错误转换结果”+e.toString());
}
字符串usernameFromDB=“”;
字符串firstnameFromDB=“”;
字符串lastnameFromDB=“”;
字符串emailFromDB=“”;
字符串phoneFromDB=“”;
字符串skypeFromDB=“”;
字符串cityFromDB=“”;
字符串描述fromdb=“”;
试一试{
JSONArray jArray=新JSONArray(结果);

对于上面的(int i=0;i添加了完整的活动代码)当您第二次单击按钮时它会做什么?有错误吗?修复了此问题并找到了另一个。上面已编辑。