2016-10-27 14 views
-5

私はアンドロイドで新しいです。これらの文字列変数をArrayListに追加したいと思います。 .......私は文字列変数の4 .....複数の文字列をarraylistに変換するには?

String number = "9876543211"; 
String type = "incoming"; 
String date = "1/1/2016"; 
String duration = "45 sec"; 

ここに私のJavaコードがあるを持って

while (managedCursor.moveToNext()) { 
    String number = managedCursor.getString(number1); 
    String type2 = managedCursor.getString(type1); 
    String date = managedCursor.getString(managedCursor.getColumnIndexOrThrow("date")).toString(); 
    java.util.Date date1 = new java.util.Date(Long.valueOf(date)); 
    String duration = managedCursor.getString(duration1); 
    String type = null; 

    String fDate = date1.toString(); 

    int callcode = Integer.parseInt(type2); 

    sb.append("\nPhone Number:--- " + number + ""); 
    sb.append(" \nCall Type:--- " + type + " "); 
    sb.append("\nCall Date:--- " + fDate + ""); 
    sb.append("\nCall duration in sec :--- " + duration); 
    sb.append("\n----------------------------------"); 
} 
+2

これらのデータは関係ない場合は、代わりにむしろ 'ArrayList'よりも、これらの値をカプセル化するクラスを作成する必要があります。 – 4castle

+0

使用 ハッシュマップ hashmap = new Map (); hashmap.put( "number"、number); hashmap.put( "type"、type); hashmap.put( "date"、date); hashmap.put( "duration"、duration); キーを使用して値を取得するのは簡単です。または応答@Rissmonスレシュのための使用モデルクラス – YLS

答えて

0

を次のようにArrayListのを反復処理4castleが示すように、あなたは本当にカスタムクラスを持っている必要があります - あなたが興味を持っている性質を見ています「CallLogEntry」に名前を付けてから、このクラスのプロパティを取得することができます。このようなカスタムクラスの例を次に示します。それは、このようなCallHistoryEntryアイテムのArrayListのを持っているために、より理にかなっていたより

public class CallLogEntry { 
    String number; 
    String type; 
    String date; 
    String duration; //this should ideally be of type Long (milliseconds) 

     public CallLogEntry(){ 
     //do stuff if necessary for no-params constructor 
     } 

     public CallLogEntry(String number, String type, String date, String duration){ 
     this.number = number; 
     this.type = type; 
     this.date = date; 
     this.duration = duration; 
     } 

     //getters and setters go here.. 
     getNumber(){ return this.number;} 
     setNumber(String number){ this.number = number;} 
     //...the rest of them... 
    } 

//...declare list of call-log-entries: 
List<CallLogEntry> callLogEntryList = new ArrayList<CallLogEntry>(); 
//...add entries 
CallLogEntry entry = new CallLogEntry(number, type, date, duration); 
callLogEntryList.add(entry); 

特にAndroidアプリでは、このようにそれを行うことの利点は、後であなたがこれを通過することができるということですリストビューのためにいくつかのlist-adapterにリストします。

こちらがお役に立てば幸いです。

+0

感謝....私は出回っのArrayListを作成している私はにこれを挿入するように習慣mysqlデータベース。 –

+0

OK、データベースに挿入すると、現在の質問の範囲外である - 私の提案は、あなたが答えの1を受け入れるのいずれか(答えようにあなたの質問をオフにマークされている)、またはあなたがそれを削除することです。あなたは、データベースにデータを挿入に関する個別のご質問などすることができます。 – ishmaelMakitla

0

を想定

public class DataBean { 

    String number; 
    String type; 
    String date; 
    String duration; 

    public DataBean(String number, String type, String date, String duration) { 
     this.number = number; 
     this.type = type; 
     this.date = date; 
     this.duration = duration; 
    } 

    public String getNumber() { 
     return number; 
    } 

    public void setNumber(String number) { 
     this.number = number; 
    } 

    public String getType() { 
     return type; 
    } 

    public void setType(String type) { 
     this.type = type; 
    } 

    public String getDate() { 
     return date; 
    } 

    public void setDate(String date) { 
     this.date = date; 
    } 

    public String getDuration() { 
     return duration; 
    } 

    public void setDuration(String duration) { 
     this.duration = duration; 
    } 
} 
を次のようにJavaBeanのクラスを作成します。

次のようにArryalistを作成します。

ArrayList<DataBean> dataBeanList = new ArrayList<>(); 
DataBean dataBean=new DataBean(number,type,date,duration); 
dataBeanList.add(dataBean);//added bean object arrylist 
データの取得のために

が続く

//のようにしてください

for(DataBeand d: dataBeanList){ 
     if(d.getName() != null && d.getDate()!=null) 
      //something here 
    } 
+0

感謝....私は出回っ私はmysqlデータベースにこれを挿入するために文句を言わないのArrayListを作成しています。 –

+0

そのためにあなたがWebサービスを呼び出す必要がhttps://github.com/codepath/android_guides/wiki/Consuming-APIs-with-Retrofit応答@ishmaelMakitlaため –

関連する問題