2013-10-30 45 views
0

我有下面的代码,但是一旦我插入数据并按下保存,它不会将数据保存到数据库。我做错了什么?android应用程序不更新字段

从IMService.java

@Override 
public String updateUserDetails(String username, String statusMessage, String presence) 
     throws UnsupportedEncodingException { 
    String params = "username=" + URLEncoder.encode(this.username.toString(), "UTF-8") 
      + "&password=" + URLEncoder.encode(this.password.toString(), "UTF-8") 
      + "&statusmessage=" + URLEncoder.encode(statusMessage, "UTF-8") 
      + "&presence=" + URLEncoder.encode(presence, "UTF-8") 
      + "&action=" + URLEncoder.encode("updateUserData", "UTF-8") + "&"; 
    Log.i("PARAMS", params); 
    return socketOperator.sendHttpRequest(params); 

} 

主要活动

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    getWindow().requestFeature(Window.FEATURE_ACTION_BAR); 
    setContentView(R.layout.user_profile); 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 
    actionBar.setDisplayShowHomeEnabled(false); 
    actionBar.setDisplayShowTitleEnabled(true); 
    actionBar.setTitle("My Profile"); 

    statusMsg1 = (EditText) findViewById(R.id.statusMessage); 
    saveStatusBut = (Button) findViewById(R.id.saveStatus); 

    saveStatusBut.setOnClickListener(new OnClickListener() { 

    CharSequence statusMsg; 
    Handler handler = new Handler(); 

    @Override 
    public void onClick(View arg0) { 

     //test 
     statusMsg = statusMsg1.getText(); 



     Thread thread = new Thread() { 
      @Override 
      public void run() { 
     try { 

      imService.updateUserDetails(imService.getUsername(),statusMsg.toString(), "online"); 



     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 
     }; 

     thread.start(); 
    } 

    }); 

} 
+0

温我调试它确实给了我一个nullpointerexception – Shaun

回答

0

因此最后想通了,我完全忘记了更新服务器端代码,所以它正在查找它实际上并未从数据库中查询的数据。感谢所有的回应

0

请告诉我把里面的另一个运行的是只显示敬酒一个可运行的呢? 也尝试将if左侧的条件赋值给一个变量并在调试模式下进行检查,以便您可以看到里面发生了什么

+0

就像我说的,我对此很新。但已经删除了测试的祝酒。 – Shaun

+0

好吧,然后发布更多的代码,或解释试图做什么,试图保存它的数据库,因为它明显不是SQLite。也尝试打印你试图通过的请求,并直接在网页浏览器中试用 –

+0

嗨有。我已经在我的网络浏览器中直接尝试了代码,并且完美运行。现在将添加更多代码。它实际上并不直接连接到数据库,而是通过URL将参数发送到服务器。运行代码时,我得到一个nullpointerexception。 – Shaun