私はアンドロイド開発の新機能です。私は、MySQLデータベースにコールログの詳細を挿入したいと思います。ですから、アンドロイド側からは、arrayListを取得していて、そのリストをstring []配列に変換しましたが、この配列をデータベースに挿入することができません。ここでは、HashMap<String,Array>
でデータ全体を挿入しています。 hashsmapは配列arguementをstring []配列として取ることができません。 PLZ ..ここにJavaコードが事前MySQLデータベースに文字列[]配列を挿入するには?
で感謝し、この問題を整理して
public class MainActivity extends AppCompatActivity {
ArrayList<String> arrayList;
String phNum,callType,samay,callDuration;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView animalList=(ListView)findViewById(R.id.listView);
arrayList = new ArrayList<String>();
getCallDetails();
// Create The Adapter with passing ArrayList as 3rd parameter
ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, arrayList);
// Set The Adapter
animalList.setAdapter(arrayAdapter);
}
private void getCallDetails() {
String strOrder = android.provider.CallLog.Calls.DATE + " DESC";
/* Query the CallLog Content Provider */
Cursor managedCursor = managedQuery(CallLog.Calls.CONTENT_URI, null,
null, null, strOrder);
int number = managedCursor.getColumnIndex(CallLog.Calls.NUMBER);
int type = managedCursor.getColumnIndex(CallLog.Calls.TYPE);
int date = managedCursor.getColumnIndex(CallLog.Calls.DATE);
int duration = managedCursor.getColumnIndex(CallLog.Calls.DURATION);
while (managedCursor.moveToNext()) {
phNum = managedCursor.getString(number);
String callTypeCode = managedCursor.getString(type);
String strcallDate = managedCursor.getString(date);
Date callDate = new Date(Long.valueOf(strcallDate));
samay = callDate.toString();
callDuration = managedCursor.getString(duration);
callType = null;
int callcode = Integer.parseInt(callTypeCode);
switch (callcode) {
case CallLog.Calls.OUTGOING_TYPE:
callType = "Outgoing";
break;
case CallLog.Calls.INCOMING_TYPE:
callType = "Incoming";
break;
case CallLog.Calls.MISSED_TYPE:
callType = "Missed";
break;
}
arrayList.add(phNum);
arrayList.add(callDuration);
arrayList.add(callType);
arrayList.add(samay);
}
managedCursor.close();
/*String[] array = new String[arrayList.size()];
array = arrayList.toArray(array);
for(String s : array)
{Log.d("TAG",s);}*/
final String[] data = arrayList.toArray(new String[arrayList.size()]);
final java.sql.Array sqlArray = Connection.createArrayOf("VARCHAR", data);
class getCallDetails extends AsyncTask<Void, Void, String> {
@Override
protected String doInBackground(Void... params) {
HashMap<String, Array> param = new HashMap<String, Array>();
param.put(Connect.KEY_ARRAY, sqlArray);
RequestHandler rh = new RequestHandler();
String res = rh.sendPostRequest(Connect.URL_ADD, param);
return res;
}
}
getCallDetails idata = new getCallDetails();
idata.execute();
}
}
を助けるここに私はjava.sqlの配列が、Connection.createArrayOf()に文字列[]配列を変換しようとしたエラーを示します非静的メソッドの参照は静的コンテキストから参照できません。
Webサービスにデータを「JSON」として送信し、MySQLに挿入します。 –
お返事ありがとうございます@KNeerajLalはjsonでループデータを保存する方法を説明しますか? –
関連するかどうかわかりませんが、少し助けてください:http://stackoverflow.com/questions/25582199/sending-arraylist-from-android-to-php-script-using-json/25582566#25582566 –