小编Chr*_*ris的帖子

Android内部存储,如何正确解析JSON文本文件

我正在创建一个Android应用程序,它使用JSON对象创建一个文本文件并将其写入内部存储.我有以下代码来做到这一点:

JSONObject myJSON = new JSONObject();
//Set the JSON object with website, length and Id (time-stamp)
try {
    myJSON.put("Length", trim)
    .put("Website", data)
    .put("Id", tx);
} catch (JSONException e1) {
    e1.printStackTrace();
}

//Convert JSON object to a string and add a comma
String myJSONString = myJSON.toString();
myJSONString += ", ";

try {
     FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_APPEND);
     fos.write(myJSONString.getBytes());
     fos.close();
     //Log.d(TAG, "Written to file");

} catch (Exception e) {
    Log.d(TAG, "cought");
    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

现在我得到一个看起来像这样的文本文件:

{"Id":"20101211T155146","Length":10}, {"Id":"20101211T155155","Length":10},
{"Id":"20101211T155203","Length":10}, {"Id":"20101211T155252","Length":10}, 
Run Code Online (Sandbox Code Playgroud)

我现在想在JSON文件中收集这些数据.该应用程序需要编写,存储和检索JSON.问题是当我使用以下方法解析文件中的JSON对象时:

String x = …
Run Code Online (Sandbox Code Playgroud)

android json

6
推荐指数
1
解决办法
9062
查看次数

Android - 如何在onResume中访问onCreate中实例化的View对象?

在我的onCreate()方法中,我正在实例化一个ImageButton视图:

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.layout_post);

    final ImageButton ib = (ImageButton) findViewById(R.id.post_image);
...
Run Code Online (Sandbox Code Playgroud)

在onResume中,我希望能够用以下内容更改ImageButton的属性:@Override protected void onResume(){super.onResume(); ib.setImageURI(selectedImageUri); } // END onResume

但onResume无法访问ib ImageButton对象.如果这是一个变量,我会简单地将它变成一个类变量,但是Android不允许你在类中定义View对象.

有关如何做到这一点的任何建议?

java android views

4
推荐指数
1
解决办法
2万
查看次数

Android Home Screen Widget使用EditText失败

每当我将一个EditText小部件添加到我的主屏幕小部件的布局(混淆该术语widget在Android词典中如何使用两次: - /)时,我收到"问题加载小工具"错误框.

这是我正在尝试的布局; 如果你删除EditText,它的工作......

<RelativeLayout
         android:layout_width="fill_parent"
         android:layout_height="fill_parent"
         xmlns:android="http://schemas.android.com/apk/res/android">

             <Button
                     android:id="@+id/button_generate"
                     android:layout_width="54px"
                     android:layout_height="54px"
                     android:text="Generate"
                     android:textSize="10sp"
                     android:gravity="center"
                     android:layout_alignParentTop="true"
                     android:layout_toRightOf="@+id/edittext_key">
             </Button>   

             <TextView
                     android:id="@+id/textview_hash"
                     android:layout_width="75px"
                     android:layout_height="45px"
                     android:text="Password"
                     android:textSize="11sp"
                     android:gravity="left"
                     android:layout_alignParentTop="true"
                     android:layout_toLeftOf="@+id/edittext_key">
             </TextView>

             <EditText
                     android:id="@+id/edittext_data2"
                     android:layout_width="200px"
                     android:layout_height="50px"
                     android:textSize="12sp"
                     android:layout_marginTop="20px"
                     android:layout_alignParentTop="true"
                     android:layout_centerHorizontal="true">
             </EditText>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

现在,谷歌搜索主屏幕小部件有一个EditText,显然合法的实施.为什么这不起作用的任何想法?

android

0
推荐指数
1
解决办法
2432
查看次数

标签 统计

android ×3

java ×1

json ×1

views ×1