2011-12-30 19 views
1

私はタイマーを使ってデータベースに値を挿入したいのですが、タイマーを使ってmsgを表示していますが、それは機能しますが、msgの表示とデータなしの値を挿入する関数挿入された!!ここに私のコードですandroid timer handler java

public class TimertestActivity extends Activity { 
    private double lat; 
    private double lng; 

    Handler handler = new Handler(); 
    Runnable runnable = new Runnable() { 
     public void run() { 
      afficher(); 

     } 
    }; 

    /** Called when the activity is first created. */ 

     @Override 
     public void onCreate(Bundle icicle) { 
     super.onCreate(icicle); 
     setContentView(R.layout.main); 
     lat = 123456.98; 
     lng = 321654.78; 
     runnable.run(); 
     } 

    public void afficher() 
     { 
      Toast.makeText(getBaseContext(), 
        "lat" +lat+ "lng" +lng, 
        Toast.LENGTH_SHORT).show(); 
      insertvalues(lat, lng); 
      handler.postDelayed(runnable, 25000); 
     } 
    public void insertvalues(double lat, double lng){ 

      //http post c à d envoi des données 
      try{ 
       HttpClient httpclient = new DefaultHttpClient(); 
       HttpPost httppost = new 
       HttpPost("http://www.pizza-paris.com/clic/marwa/test/form.php?lat="+lat+"&lng="+lng); 
       HttpResponse response = httpclient.execute(httppost); 
       HttpEntity entity = response.getEntity(); 
       InputStream is = entity.getContent(); 
       Log.i("postData", response.getStatusLine().toString()); 
      } 
      catch(Exception e) 
      { 
       Log.e("log_tag", "Error in http connection "+e.toString()); 
      }  
      } 
} 
+1

あなたはHttpClientをHTTPClientを=新しいDefaultHttpClient()でデバッグポイントを入れています。どのようなことが起こっているかを正確に見るために電話を踏むためのライン?マニフェストでインターネットのアクセス許可をリクエストしていますか? – Jack

+0

良いthnx私はinetrnetの許可を忘れてしまった!ありがとうジャック!私たちは一生懸命やって、すべてを変えることができるいくつかの細部を忘れる! thnx :) –

答えて

1

解決策は、彼のマニフェストにインターネット権限を追加することでした。それはいつも簡単なことです。

権限の詳細については、thisリンクをお読みください。

正しい形式は次のようになります。

<uses-permission 
     android:name="android.permission.INTERNET" /> 
+0

はい私はこの形式でたくさん行った –