Articles of java

在Android中添加ListView子项目文本

我创build了一个列表视图中列出项目的RSS阅读器。 我也想每个项目下面有一个date,但我不知道如何做到这一点。 我需要某人的帮助,使子项目文本显示从RSS提要检索pubDate。 这是我的class级代码: public class RSSReader extends Activity implements OnItemClickListener { public final String RSSFEEDOFCHOICE = "http://app.calvaryccm.com/mobile/android/v1/devos"; public final String tag = "RSSReader"; private RSSFeed feed = null; /** Called when the activity is first created. */ public void onCreate(Bundle icicle) { super.onCreate(icicle); setContentView(R.layout.main); // go get our feed! feed = getFeed(RSSFEEDOFCHOICE); // display […]

Eclipse Android项目中无法运行JUnit 4testing用例

我是Java新手,正在尝试在我正在编写的类上运行unit testing。 Eclipse(3.5)为我创build了unit testing类,并将Junit4添加到我的类path中。 我的课: public class DistanceUtil { public static double metersToMiles( double meters ) { return 0; } public static double metersToKilometers( double meters ) { return 0; } } 我的unit testing: public class DistanceUtilTest { @Test public final void testMetersToMiles() { fail("Not yet implemented"); // TODO } @Test public final void testMetersToKilometers() […]

如何在Android和可用的API列表工作的VPN? (棒糖)

参考: Android 4.0有一个API来构buildVPN服务。 VPNService(Android文档) VPNService.Builder(Android文档) Arne Schawbe为Android实现OpenVPN(github) 一个这样的VPN服务应用是NetMotionMobility®(Google Play) 从“棒棒糖”版本开始,Android提供了一种新的VPNtypes,提供关于VPN连接状态的信息,请求是否通过VPN等。 检测结果 (连接到VPN) Android <= 5.0(Android棒棒糖) WIFI(Wlan)和Cellular(rmnet)接口IP连接成功。 VPN(tun)接口IP地址连接成功,但不会获得VPN连接/断开事件。 Android> 5.0(Android Lollipop 5.1和6.0) 无线(Wlan)和蜂窝(rmnet)接口IP连接不成功。 VPN(Tun)接口IP的地址连接成功,并且还可以获得VPN连接/断开事件。 tun接口IP: ConnectivityManager#TYPE_VPN NetworkCapabilites#TRANSPORT_VPN NetworkCapabilities#NET_CAPABILITY_NOT_VPN 表示此networking不是VPN。 此function默认设置,应明确清除VPNnetworking。 常量值:15(0x0000000f) 问题: 当设备上的VPN服务处于活动状态时,WhatsApp,Skype或浏览器等第三方应用程序的请求是如何工作的? VPN连接到设备IP堆栈时发生了什么? Android隧道如何工作? 什么是绑定到活动IP和发送请求的应用程序的devise? 棒棒糖(5.0)中的VPN API是否不稳定? 如果bindProcessToNetwork通过Celluarnetworking完成,WiFi连接到设备,VPN将使用哪个networking?

安装Genymotion Eclipse插件

我在Windows 7,32位机器上安装了Genymotion 。 我正在使用Eclipse来开发Android应用程序。 我想问一下安装Genymotion插件的正确方法是什么。 通过他们的网站 ,他们提供了两个Eclipse的JAR文件和下面的注释: 插件的安装可以通过启动Eclipse并进入“帮助/安装新软件”菜单,然后添加一个新的更新站点,使用以下URL: http : //plugins.genymotion.com/eclipse 。 遵循Eclipse指示的步骤。 警告:要使用此插件,Genymotion必须安装在您的系统上。 我从Eclipse的“帮助”菜单中安装了插件。 我还没有下载这两个文件中的任何一个。 我做对了吗? 这两个文件是: Eclipse的Genymotion插件 2.强制依赖Eclipse插件

最佳实践:扩展或覆盖Android库项目类

我们正在使用Android库项目来共享Android应用程序的不同构build(目标)中的核心类和资源。 针对每个特定目标的Android项目引用Core库项目 (在幕后,Eclipse创build并引用来自所引用的库项目的jar)。 覆盖图像和XML布局等资源很容易。 放置在目标项目中的资源文件(例如应用程序图标或XML布局)会在构build应用程序时自动覆盖具有相同名称的核心库资源。 然而,有时候需要重写一个类来实现特定于目标的行为。 例如,Amazon目标首选项屏幕不能包含指向Google Play应用程序页面的链接,需要更改Amazon项目的preferences.xml和首选项Activity类。 目标是减less目标项目中重复代码的数量,同时尽可能多地从Core库中删除特定于目标的代码。 我们想出了几种方法来实现特定于不同目标的逻辑: 在Core库类中编写特定于目标的函数,并使用if / switch块根据产品SKUselect行为。 这种方法不是非常模块化,而且会使Core库代码库膨胀。 在目标项目中扩展特定的Core类并根据需要覆盖基类(Core)类的function。 然后保持对Core库中的基类对象的引用,并用扩展类对象(从如何覆盖Android库项目中的类)实例化它? 是否有其他策略来重写或扩展Android库项目类? 什么是在Android应用程序目标之间共享和扩展公共类的最佳实践?

NoClassDefFoundError:Lokhttp3 / internal / Platform的parsing失败

我正在使用Retrofit2库。 我已经尝试更新最新版本:Retrofit2,Gson,Rxjava,OKHttp,HttpLoggingInterceptor …在build.gradle文件 在应用程序中build.grade dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', { exclude group: 'com.android.support', module: 'support-annotations' }) // Default – Android Component testCompile 'junit:junit:4.12' compile 'com.android.support:design:24.2.1' compile 'com.android.support:appcompat-v7:24.2.1' // Retrofit2 + Gson compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.google.code.gson:gson:2.6.2' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.3.0' compile 'com.squareup.okhttp3:okhttp:3.4.1' // RxJva compile 'io.reactivex:rxandroid:1.2.0' compile 'io.reactivex:rxjava:1.1.4' } 但我得到错误 > […]

导入android包无法parsing

在Eclipse中构build的我的android应用程序突然无法构build几十个错误。 最明显的是错误,指示所有的Android导入无法parsing。 import android.os.Bundle; import android.app.Activity; import android.graphics.drawable.Drawable; import android.media.AudioManager; import android.util.Log; import android.view.Menu; import android.view.View; import android.widget.Button; import android.widget.ImageView; 所有这些被标记为无法parsing。 我尝试删除并重新添加JRE系统库。 我试过清理和重build。 我已经尝试了“快速修复”选项来“修复项目安装…”,但只是回应一个对话框说… “ 没有提议find解决对'android.app.Bundle'的无法parsing的引用。点击此处手动configuration项目”静默模式切换“的构buildpath。 我是Android开发的新手,这个我完全难住了。 预先感谢您提供的任何帮助。 丰富

Eclipse的错误,“select无法启动,并没有最近启动”

我刚刚开始Android编程,所以下载了Eclipse并开始使用。 创build我的第一个项目,从这里教程: http : //developer.android.com/training/basics/firstapp/creating-project.html#CommandLine 当我在下一课,从这里运行该应用程序: http : //developer.android.com/training/basics/firstapp/running-app.html 我照他们的话说。 通过USB连接我的设备,启用USBdebugging,但是当我点击在Eclipse上运行,得到了上述错误。 我做错了什么?

无法parsing符号“GoogleCloudMessaging”GCM

我试图让GCM在我的应用程序中工作(当我们的工作时间发生变化时,或者我们有任何促销信息时,通知用户),但是在尝试使用Google Cloud Messaging API时,我仍然收到错误Cannot resolve symbol 'GoogleCloudMessaging' 。 我正在使用新发布的Android Studio IDE来编写代码。 这是我的GcmBroadcastReciever.java代码: import android.R; import android.app.Activity; import android.app.NotificationManager; import android.app.PendingIntent; import android.content.BroadcastReceiver; import android.content.Context; import android.content.Intent; import android.widget.Toast; public class GcmBroadcastReceiver extends BroadcastReceiver { static final String TAG = "GCMDemo"; public static final int NOTIFICATION_ID = 1; private NotificationManager mNotificationManager; Context ctx; GoogleCloudMessaging gcm; // […]

EditText按比例缩放

我有一个EditText我想要放大,并与setScaleX / setScaleY滚动,它工作正常 – 文本正在编辑在正确的位置。 但是,当我尝试select文本 – 它将绘制select手柄的位置,如文本不缩放。 这是已知的错误 。 这是预期的结果,因为句柄是在与视图大小相关的popup窗口上绘制的。 android.widget.Editor上的所有操作都是针对其字段private TextView mTextView; 。 如果我们通过反思来设置自己的编辑器,我不知道如何处理私有方法,这是不可覆盖的。 另外,在popup窗口android.widget.Editor.HandleView#HandleView坐标上绘制的select手柄是在Layout中计算出来的,我只需要DynamicLayout但是对于我们的目的来说它没有区别。 方法android.text.Layout#getPrimaryHorizontal(int, boolean)是公开的,它的值可以在规模上相乘,但是为此我们需要扩展和重载私有方法android.widget.TextView#makeSingleLayout ,但这是一个问题。 我们也可以使用所有需要的重写方法来实现我们自己的布局,但是我们可以重写的所有方法都用@hide注解标记,并且没有可以通过reflection访问的字段。 下一个屏幕截图显示为2倍缩放 PS:任务的上下文是一个捏合缩放编辑文本的编辑器。 重新计算大小的文本不是一个解决scheme。 因为我需要每个屏幕尺寸的便携式文档。