小编afa*_*man的帖子

将JSON写入文件

我有一个类compositionJSON.该类有一个方法调用makeJSONObject,它创建一个JSON-Object并将东西放入其中.这是该类的代码.

public class CompositionJso extends JSONObject {



public JSONObject makeJSONObject (String title, String desc, ArrayList<String> imgPath, ArrayList<Resources> imgView) {

    JSONObject obj = new JSONObject() ;

    try {
        obj.put("title", title);
        obj.put("desc", desc);
        obj.put("imgPath", imgPath);
        obj.put("imgViewPath", imgView);
    } catch (JSONException e) {
        e.printStackTrace();
    }

    return obj;
}
Run Code Online (Sandbox Code Playgroud)

现在我创建这个类的一个实例,并在另一个类中调用该方法.之后我想将JSONObject写入文件并将其保存在设备上的SD卡上.这是代码:

 saveCompo.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            setName();
            createJSONFolder();
            CompositionJso obj = new CompositionJso();
            obj.makeJSONObject(compoTitle, compoDesc, imgPaths, imageViewPaths);
            MyCompositionsListActivity.buildList();

            try {
                Writer output = null;
                File file = new File("storage/sdcard/MyIdea/MyCompositions/" + compoTitle …
Run Code Online (Sandbox Code Playgroud)

android json filewriter

9
推荐指数
1
解决办法
3万
查看次数

带附加功能的Android通知意图始终为空

我正在开发一个可以创建多个警报的应用程序,这些警报会向用户发送通知,因此他们可以点击通知,这会导致我想要显示的警报详细信息的活动,具体取决于额外的值,但我的额外内容总是空的,我不明白它是什么错误..我已经搜索了很多问题,似乎没有什么能解决我的问题.

这是创建每个都具有唯一ID的警报的地方."item.getID()"

NewAlarm.java

        firstTime = System.currentTimeMillis(); 

        intervalTime = (1000 * 60 * 4); // 4 minutes

        // crear el pending intent y la alarma
        Intent intent = new Intent(this, AlarmBroadcastReceiver.class);
        intent.putExtra("ID", item.getID());
        intent.putExtra("MEDICINA", item.getMedicina());

        PendingIntent pendingIntent = PendingIntent.getActivity(this, item.getID(), intent, PendingIntent.FLAG_UPDATE_CURRENT);

        AlarmManager alarmManager = (AlarmManager) getSystemService(Activity.ALARM_SERVICE);
        alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, firstTime, intervalTime, pendingIntent);
Run Code Online (Sandbox Code Playgroud)

AlarmBroadcastReceiver.java

public void onReceive(Context context, Intent intent) {

    try {

        int notifID = intent.getExtras().getInt("ID");
        String medicina = intent.getExtras().getString("MEDICINA");

        Intent alarmDetailsIntent = new Intent(context, AlarmDetails.class);
        alarmDetailsIntent.setFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP);
        intent.putExtra("ID", notifID);
        intent.putExtra("MEDICINA", medicina);

        PendingIntent …
Run Code Online (Sandbox Code Playgroud)

android-intent android-notifications

3
推荐指数
2
解决办法
7137
查看次数