我正在创建一个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) 在我的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对象.
有关如何做到这一点的任何建议?
每当我将一个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,显然合法的实施.为什么这不起作用的任何想法?