Web上のデータベースにユーザーがゲームで達成した最高得点を記録しておきます。 最高得点の取得方法はRecordActivityのファイルで完成しました。その一部のプログラムを 使えばよいはずです。これを参考にしてInfoActivityに次の追加コードを挿入しました。 InfoActivityは次の通りです。主にgetMaxPointメソッドで実行しています。 package kureishi.example.nationaldefence; import java.io.*; import java.util.*; import android.app.Activity; import android.content.ContentResolver; import android.content.Intent; import android.database.Cursor; import android.os.Bundle; import android.provider.ContactsContract; import android.view.View; import android.widget.ArrayAdapter; import android.widget.ListView; import android.widget.SimpleCursorAdapter; import android.widget.TextView; import android.util.SparseBooleanArray; import android.widget.Toast; //追加 import kureishi.example.nationaldefence.DatabaseHelper; import android.database.sqlite.SQLiteDatabase; //ここまで public class InfoActivity extends Activity { public String[] listSample; public ArrayList mail =new ArrayList(); public String[] nickName; public ArrayList nick =new ArrayList(); public StringBuilder sb= new StringBuilder(); public String[] listSample_1; private ListView listView; private TextView text; public String URL_PAGE= "http://upupup.kir.???????"; String str=""; public String mailAddress; public String mailAddress_1; //追加 private DatabaseHelper mDbHelper; private SQLiteDatabase mDb; private Cursor c; public String str_max_point; //ここまで @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.info); Intent intent=getIntent(); mailAddress=intent.getStringExtra("mailAddress"); if(mailAddress.length()>8 ){ mailAddress_1="発信::"+mailAddress; text=(TextView)findViewById(R.id.textView5); text.setText(mailAddress_1); }else{ return; } ContentResolver resolver = getContentResolver(); Cursor cursor = resolver.query(ContactsContract.Contacts.CONTENT_URI,null, null, null, null); while(cursor.moveToNext()){ String contactsId = cursor.getString(cursor.getColumnIndex(ContactsContract.Contacts._ID)); String contactsMail = ""; String contactsName = ""; Cursor cMail = resolver.query( ContactsContract.CommonDataKinds.Email.CONTENT_URI, null, ContactsContract.CommonDataKinds.Email.CONTACT_ID + " = ? ", new String[]{contactsId}, null); while(cMail.moveToNext()) { contactsMail = cMail.getString(cMail.getColumnIndex(ContactsContract.CommonDataKinds.Email.DATA1)); contactsName = cMail.getString(cMail.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME)); mail.add(contactsMail); nick.add(contactsName); } cMail.close(); } listSample=new String[mail.size()-1]; for(int i=0;i"+nickName[i];//変更しました } listView = (ListView)findViewById(R.id.ListView10); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_multiple_choice,nickName); listView.setAdapter(adapter); int max_score=getMaxPoint();//最高得点を得るためのメソッドの実行命令 str_max_point=String.valueOf(max_score);//文字列に変換 } public void onClickSend(View v){ SparseBooleanArray checked = listView.getCheckedItemPositions(); for (int i = 0; i < checked.size(); i++) { if(checked.valueAt(i)){ int key = checked.keyAt(i); //sb.append("POSITION:"+checked.keyAt(i)+" "+"VALUE:"+listSample_1[key]+"\n"); str=str+listSample_1[key]+","; } } //Toast.makeText(getApplicationContext(), sb, Toast.LENGTH_SHORT).show(); if(str!=""){ exec_post(); }else{ Toast.makeText(getApplicationContext(),"友人リストを選択して下さい", Toast.LENGTH_SHORT).show(); return; } } private void exec_post() { // 非同期タスクを定義 HPostTask task = new HPostTask( this, URL_PAGE, // タスク完了時に呼ばれるUIのハンドラ new PHandler(){ @Override public void onPostCompleted(String response) { // 受信結果をTextView5に表示 text.setText( response ); } @Override public void onPostFailed(String response) { text.setText( response ); } } ); //本人メールアドレス task.addPostParam( "key",mailAddress); //友人のメールアドレス task.addPostParam( "value", str); // ここを追加:最高得点も送信します task.addPostParam( "score", str_max_point); // 実行 task.execute(); } //追加 public int getMaxPoint(){ mDbHelper =new DatabaseHelper(this); if(mDb==null){ mDb=mDbHelper.getWritableDatabase(); } //データの読み込み c=fetchAll(); c.moveToFirst(); int ii=c.getCount(); int max_point=0; for(int i=0;i=0){ if(max_point",$data_1); if(ereg(".*".$_POST["key"]."<>".$aaaa[0].".*",$line)||ereg(".*".$_POST["key"]."<>".$_POST["key"].".*",$line)){ array_splice($lines,$i,1); } } $i++; } //ここまで //追加変更:新規に登録したいデータを配列に挿入 foreach($aa as $data_1){ $data_count++; $aaaa=explode("<>",$data_1); $data_10=$data_count."<>".$date_in ." ".$time_in."<>".$_POST["key"]."<>".$aaaa[0]."\r\n"; array_unshift($lines,$data_10); } //ここまで //得点データの挿入 $ff_data=$data_count."<>".$date_in ." ".$time_in."<>".$_POST["key"]."<>".$_POST["key"]."<>".$_POST["score"]."\r\n"; array_unshift($lines,$ff_data); //ここまで $ff=fopen("smartphone_data.dat","w"); for($j=0;$j",$aa[$i]); echo "TO::".$aaa[1]."\r\n"; } ?> データベースには次のようなデータが蓄積されていきます。 13<>2014/10/02 09:36:37<>upupup@kagoya<>upupup@kagoya<>6789//登録本人のメールアドレスと得点:メールアドレスを重複させて //おきます。 //ゲームの得点を競い合いたい友人のメールアドレス:本人メールアドレスと友人のメールアドレスを結合しておきます。 13<>2014/10/02 09:36:37<>upupup@kagoya<>??????@docomo.ne.jp 12<>2014/10/02 09:36:37<>upupup@kagoya<>aaaaaa@docomo.ne.jp 11<>2014/10/02 09:36:37<>upupup@kagoya<>kkkkkk@docomo.ne.jp 10<>2014/10/02 09:36:37<>upupup@kagoya<>mmmmm@ezweb.ne.jp 9<>2014/10/02 09:36:37<>upupup@kagoya<>ggggggg@ezweb.ne.jp //ここまで 以上で動作確認しました。うまくいきました。