Articles of java的

如何使用带有@SerializedName注释的gson序列化?

这是我使用Gson进行序列化的第一种方法。 我像我这样回复了对我的Android应用程序的Facebook响应: Result: { Response: responseCode: 200, graphObject: GraphObject{graphObjectClass=GraphObject, state={ “data”:[{“pic_square”:”https:\/\/fbcdn-profile-a.akamaihd.net\/xxx.jpg”, “uid”:”1020272xxxx852765″,”name”:”Mister X”} }, error: null, isFromCache:false }]} 我创建了新的课程,但我不知道如何填写…… import java.io.Serializable; import java.util.Arrays; import com.google.gson.annotations.SerializedName; public class FacebookResponse implements Serializable{ private static final long serialVersionUID = -104137709256566564L; @SerializedName(“data”) private FacebookResponse[] data; @Override public String toString() { return “FacebookResponse [data=” + Arrays.toString(data) + “]”; } } […]

Gson:预计begin_array但是STRING

我在解析JSON数据时遇到以下错误: 预计begin_array,但在第1行第34列是STRING 我找不到解决方案。 我的JSON如下: {“result”:0,”count”:2,”records”:”[{\”name\”:\”name1\”, \”id\”:\”28\”, \”photo\”:\”\\\/gallery\\\/c9\\\/f0f8\\\/95fb\\\/c9f0f895fb98ab9159f51fd0297e236d\\\/28\\\/tb_uykzubjqmxbv6zkogdsd_c64962310e572f5e8a4c73a44a4fa3dd.jpg\”},{\”name\”:\”name2\”, \”id\”:\”134\”, \”photo\”:\”\\\/gallery\\\/c9\\\/f0f8\\\/95fb\\\/c9f0f895fb98ab9159f51fd0297e236d\\\/134\\\/tb_23ffxuw9-5ys4iqtwztz_610982fa52cca03412dbc84ab0ea5e18.jpg\”}]”} 这是我的PersonContent类: public class PersonContent { @SerializedName(“result”) public int result; @SerializedName(“count”) public int count; @SerializedName(“records”) List records; public List getRecords() { return records; } public void setRecords(List records) { this.records = records; } public void setResults(int result) { this.result = result; } public int getResults(){ return result; […]

在XML元素的开始和结束标记内部进行注释时,“标记开始未关闭”

是在XML文件中添加注释的方法。 这实际上是不是意味着这部分不是“编译”的? 但是,当我做这样的事情时: <item android:id="@+id/ss3" android:icon="@drawable/some_icon" android:title="Blabla Title" tools:ignore="AppCompatResource" /> 我收到错误“标签启动未关闭”。 为什么?

Android Geofencing BroadcastReceiver未触发

我目前正在为Android制作一个Geofencing应用程序,我按照他们的教程但我似乎无法正确触发BroadcastReceiver。 调用onAddGeofencesResult,但不调用BroadcastReceiver。 想法为什么? 我有它,如果一个人在地理围栏中超过5毫秒,以及退出或进入地理围栏,它应该发送广播。 我根据我办公室附近的坐标制作了地理围栏,但在走过它们(或站在它们中)时没有得到任何结果。 ReceiveTransitionsBroadcastReceiver.java: import com.parse.ParseObject; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; /** * This class receives geofence transition events from Location Services, in the * form of an Intent containing the transition type and geofence id(s) that triggered * the event. */ public class ReceiveTransitionsBroadcastReceiver extends BroadcastReceiver { @Override public void onReceive(Context […]

仅限ZBar Scanner QR

我在我的Android应用程序中使用ZBar QR扫描仪。 一切都运行正常,库和设置没有问题。 问题是我想让ZBar只扫描QR码而不扫描条形码。 有办法吗? 怎么样? 这是我的扫描活动代码: import net.sourceforge.zbar.Config; import net.sourceforge.zbar.Image; import net.sourceforge.zbar.ImageScanner; import net.sourceforge.zbar.Symbol; import net.sourceforge.zbar.SymbolSet; import android.app.Activity; import android.content.Intent; import android.content.pm.ActivityInfo; import android.content.res.Resources; import android.graphics.Color; import android.hardware.Camera; import android.hardware.Camera.AutoFocusCallback; import android.hardware.Camera.PreviewCallback; import android.hardware.Camera.Size; import android.os.Bundle; import android.os.Handler; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; import android.view.View; import android.view.ViewGroup.LayoutParams; import android.widget.Button; import android.widget.FrameLayout; import android.widget.TextView; […]

如何使应用程序只工作3天

我正在上述平板电脑上安装此应用程序,我打算将这款平板电脑提供给我的客户一两天,我想要的是: 在检查操作之后,客户端应该在到期日之后不能使用所述应用程序。 为此,我调用了压缩函数并将提取的系统日期(Day)与我希望应用程序关闭操作的一天进行比较。 我使用以下代码: public void expire(){ Calendar c = Calendar.getInstance(); int sDate = c.get(Calendar.YEAR); int sMonth = c.get(Calendar.MONTH)+1; int sDay = c.get(Calendar.DAY_OF_MONTH); int sHour = c.get(Calendar.HOUR_OF_DAY); int sMin = c.get(Calendar.MINUTE); Toast.makeText(getApplicationContext(), “”+sDate+sMonth+sDay+”Hour is”+sHour, Toast.LENGTH_LONG).show(); if (sDay >=11){ System.exit(0); } } 我叫expire(); 在按钮上单击以检查,但我得到的是一个空白的黑屏几秒钟,然后应用程序正常工作。 我不想要的。

是否可以在Dagger 2中有选择地为组件设置模块?

Caused by: java.lang.IllegalStateException: analyticsModule must be set 我正在构建一个使用模板样式初始化的库。 用户可以使用该库有选择地为项目设置模块。 它使用Dagger 2进行DI。 但是Dagger 2似乎不允许使用可选模块。 不能简单地忽略未设置的模块?

Android库AAR取决于另一个库

嗨我有一个Android库项目,它生成一个AAR。 一切都很好,但当我在另一个项目中使用AAR时,我收到此错误: java.lang.NoClassDefFoundError: com.squareup.picasso.Picasso AAR使用毕加索,是否有可能在生成AAR时导出AAR的依赖关系?

以编程方式创建的Android ProgressBar(圆圈)在Xoom上不可见(无处不在!)

问题 我有一个奇怪的问题,我无法弄明白,需要一些其他的眼睛来看。 我已经动态创建了一个ProgressBar视图,除了我的Motorola Xoom之外,它还适用于各种设备和AVD。 截图 所有屏幕截图都有它们之上的设备名称,并且从它通过ADT获得的任何内容减少了大约50%,除了Nexus 10,因为它的超高分辨率,它是25%。 添加了ProgressBar的红色背景以用于调试目的,以显示视图在那里并且可见。 我添加了左侧和顶部填充以使其居中。 下面的屏幕截图从Xoom开始,它不起作用,其次是Nexus 10(AVD),Nexus 7,Galaxy Nexus和HTC Droid Incredible,展示它在其他地方工作。 拍摄后我会添加我的代码。 摩托罗拉Xoom不工作 进度条不工作! 但请注意视图是可见的(我们看到红色背景)。 在其他设备上正常工作 在所有这些设备上都可以看到圆圈进度。 模拟三星Nexus 10 华硕Nexus 7 三星Galaxy Nexus HTC Droid令人难以置信 现在的代码 这将创建包含它的父视图: RelativeLayout discoverListLayout = new RelativeLayout(mContext); discoverListLayout.setLayoutParams(params); discoverListLayout.addView(mDiscoverList); mDiscoverList是最终显示的列表视图。 ProgressBar加载在它之上,直到加载列表。 现在创建并设置进度条。 我在onGlobalLayout上设置了填充,因为否则对象的宽度和高度为0。 mDiscoverLoading = new ProgressBar(mContext); params.height = ViewPager.LayoutParams.WRAP_CONTENT; params.width = ViewPager.LayoutParams.WRAP_CONTENT; mDiscoverLoading.setLayoutParams(params); mDiscoverLoading.setIndeterminate(true); discoverListLayout.addView(mDiscoverLoading); […]

如何在模块(Android studio)中使用com.android.databinding?

我想用com.android.databinding: dataBinder创建一个库。 项目的build.gradle: buildscript { repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:1.5.0’ classpath ‘com.android.databinding:dataBinder:1.0-rc4’ // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files } } allprojects { repositories { jcenter() maven { url “https://jitpack.io” } //gradlew -Dhttps.proxyHost=127.0.0.1 -Dhttps.proxyPort=8580 } } task clean(type: Delete) { delete […]