Tag: 安卓

如何在JAVA android中将JSON字符串转换为对象

如何在Java Android中将JSON字符串转换为对象,以便我可以访问“name2” 谢谢 // this is how my json looks {“name1″:”a”,”name2″:”b”,”name3″:”c”,”name4″:”d”} String mytext = GetMyJSON(); JSONObject obj = new JSONObject(mytext); Strin N1 = obj.name1;

指定有效的唤醒锁定级别

在GCM支持下使用应用程序,没有任何问题。 但是当我推送通知时,应用程序崩溃,LogCat说如下: 03-21 14:32:13.276:E / AndroidRuntime(4457):java.lang.RuntimeException:无法启动活动ComponentInfo {de.yanniks.cm_updatechecker / de.yanniks.cm_updatechecker.UpdateChecker}:java.lang.IllegalArgumentException:Must指定有效的唤醒锁定级别。 如何定义有效的唤醒锁定级别? 请帮忙!

在共享偏好中保存意图

我有一个应用程序,我可以启动我的手机上安装的其他应用程序,长按我得到应用程序选择器,结果我收到一个意图数据,我怎么能保存它所以用户关闭时回到我的应用程序有相同的快捷方式设置? 我保存这样的其他东西 SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0); SharedPreferences.Editor editor = settings.edit(); editor.putInt(“Counter1”, counter); editor.putBoolean(“FirstRun”, firstRun); editor.putString(“Label2”, label2S); editor.commit(); 但我无法对意图做同样的事情

ContentResolver和“IN”语句在“where”条件下

我正在尝试基于therir id获取光标以获取联系人列表。 我不确定如何使用带有参数数组的“IN”语句。 我目前有什么导致错误。 public Cursor GetContacts(String[] ids) { ContentResolver cr = getContentResolver(); try { Uri uri = ContactsContract.Contacts.CONTENT_URI; String[] projection = new String[] { ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.HAS_PHONE_NUMBER }; String where = ContactsContract.Contacts._ID + ” IN ?”; String[] selectionArgs = ids; String sortOrder = ContactsContract.Contacts.DISPLAY_NAME; return cr.query(uri, projection, where, selectionArgs, sortOrder); } catch (Exception ex) […]

从firebase检索数据返回NULL

当我调用listPost()时,它将返回NULL。 我想它不会等待侦听器从firebase获取post。 在返回arrayPost之前,我该如何等待从firebase获取post? public Post[] listPost() { ArrayList list = new ArrayList(); // Fetch post from firebase postRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(DataSnapshot snapshot) { for(DataSnapshot child : snapshot.getChildren()) { String id = child.getKey(); String title = child.child(“title”).getValue().toString(); String content = child.child(“content”).getValue().toString(); String date = child.child(“date”).getValue().toString(); String status = child.child(“status”).getValue().toString(); Post post = new […]

如何列出最近/正在运行的应用程序

按住手机上的主屏幕按钮会弹出一个弹出窗口,显示最近的应用程序。 有谁知道如何通过代码执行相同的操作? 我需要能够在列表视图中选择一个。

Android肖像锁定相机预览

我已经像在Android的ApiDemos应用程序中一样实现了Camera Preview。 问题是我想要我的活动,预览被显示为锁定为肖像。 所以我在清单中将screenOrientation设置为portrait。 ‘getOptimalPreviewSize’方法为预览返回相反的值,这意味着,当需要返回480×720时,该方法返回720×480,并且我的活动的FrameLayout中心有一个小预览(这不是我想要的,我希望它匹配父项(是的,布局用“match_parent”定义)。 我试过了: setDisplayOrientation(90); parameters.set(“orientation”,“portrait”); parameters.set(“rotation”,“90”); 似乎没有任何帮助。 为什么我不能以纵向模式显示相机的预览? 锁定。 谢谢

从后台线程更新适配器

我的一些用户(可能是50个)因以下错误而崩溃: java.lang.IllegalStateException:适配器的内容已更改,但ListView未收到通知。 确保不从后台线程修改适配器的内容,而只是从UI线程修改。 如果我理解正确,那是因为调用adapter.clear(); 和adapter.addAll(list); 在AsyncTask的doInBackground()方法中,我需要在onPostExecute()移动它。 问题是我无法重现那个错误,所以我无法确定它是否已修复。 StackOverflow上的一些类似问题似乎表明,简单地将适配器更新到onPostExecute()方法并不能解决问题。 有谁知道我怎么能在我的设备上每次都发生这个错误,以确保修复工作? 我不明白为什么它在大多数情况下会起作用,但有时只会导致崩溃。

Firebase Firestore同步/无回调检索数据

我在我的Android应用程序中的一个单独的线程中使用Cloud Firestore,所以我不想使用侦听器OnSuccessListener和OnFailureListener在另一个线程中运行。 我可以让我的线程等待结果(并在需要时捕获任何exception)吗? 目前查询的代码是这样的: FirebaseFirestore.getInstance().collection(“someCollection”).get().addOnSuccessListener(new OnSuccessListener() { @Override public void onSuccess(QuerySnapshot documentSnapshots) { // do something on the UI thread with the retrieved data } }); 我想要的是: FirebaseFirestore.getInstance().collection(“someCollection”).getAndWaitForResult(); //Block the thread and wait for result, no callbacks. //getAndWaitForResult() is not a real function, just something to describe my intention. 我之前曾经使用过Parse Server,在那里它非常简单。

无法通过GCM获取我的InstanceID

我正在尝试首次在我的应用程序中实现GCM,所以我按照这些步骤操作,并且出现了一个错误,导致我的应用程序无法在我的sv中获得注册令牌。 它说: 09-30 23:05:52.196 31461-31514/com.comgonzalovillarbaribus E/GMPM﹕ getGoogleAppId failed with status: 10 09-30 23:05:52.200 31461-31514/com.comgonzalovillarbaribus E/GMPM﹕ Uploading is not possible. App measurement disabled 我不知道问题是什么,我的清单是正确的,我的GCM_SENDER_ID 。 这是我要求我的令牌的地方: // Set GCM if (checkPlayServices()) { InstanceID instanceID = InstanceID.getInstance(this); String token = null; try { token = instanceID.getToken(Constants.GCM_SENDER_ID, GoogleCloudMessaging.INSTANCE_ID_SCOPE, null); sendRegistrationToServer(token); } catch (IOException e) { e.printStackTrace(); } } […]