Articles of java的

Android:获取通知的唯一ID

我有一个看起来像这样的块: for(int counter = 0; counter < sList.size(); counter++){ String s = sList.get(counter); Notification notification = new NotificationCompat.Builder(this).setContentTitle("Title").setContentText(s).setSmallIcon(R.drawable.ic_launcher).setContentIntent(pendingIntent).build(); notification.flags |= Notification.FLAG_AUTO_CANCEL; notificationManager.notify(counter, notification); } 该块位于由警报管理器触发的服务中。 因此,在用户看到通知之前,这个块可能会被执行几次。 当某个内容添加到sList时重新执行此块时,它会覆盖当前通知,因为通知的ID是相同的。 我怎样才能防止这种情况发生? 我怎样才能每次都获得一个唯一的ID? 或者是否有可能避免整个ID部分,就像告诉android无论如何必须显示通知,无论ID是什么? 提前致谢!

两个imageview之间的animation过渡

一方面我有一个带有两个ImageView的布局: 另一方面,我有一个图像资源列表: static int mImages[] = new int[] { R.drawable.artistes, R.drawable.couple1, R.drawable.couple2, R.drawable.couple3, R.drawable.enfant, R.drawable.manege, R.drawable.manege2, R.drawable.metropolitain, R.drawable.panoramique, R.drawable.sacrecoeur }; 我还有一个由Handler + postDelayed()制作的调度程序,用计时器一个接一个地显示图像。 这工作正常 我的问题是关于从一个图像视图到另一个图像视图的过渡animation,知道我每次都要清理图像视图以避免OutOfMemoryExceptions: 现在我在schduled回调方法中这样做: if (mIndex == mImages.length) { mIndex = 0; // repeat } if (mIndex % 2 != 0) { // pair mImageCross2.setImageResource(mImages[mIndex++]); Utils.crossfade(mImageCross2, mImageCross1, 1000/*duration*/); mImageCross1.setImageResource(0); } else { mImageCross1.setImageResource(mImages[mIndex++]); […]

非活动Java类中的Dagger 2注入

我正在尝试使用Dagger2进行DI,它对于有onCreate生命周期事件的Activity / Fragment相关类非常适用。 现在我有一个普通的Java类,我想要注入它。 任何关于如何去做的想法将不胜感激。 我的代码看起来像这样: BasicMoviesUsecaseComponent.java – @PerActivity @Component(dependencies = AppComponent.class, modules = BasicMoviesUsecasesModule.class) public interface BasicMoviesUsecasesComponent { void inject(PaymentsManager paymentsManager); } DatabaseModule.java – @Module public class DatabaseModule { @Provides @Singleton Realm provideRealmInstance(Context context) { return Realm.getInstance(context); } @Provides @Singleton DatabaseProvider provideDatabaseInstance(Realm realm) { return new DatabaseProvider(realm); } @Provides @Singleton SharedPreferences provideSharedPrefs(Context context) { […]

Android按钮onClickListener

我是Android开发的新手。 我试图在我的OnClickListener方法中打开新的Activity 。 我应该写什么以及OnClickListener方法如何工作?

如何使我的ActionBar的“向上”按钮像手机的“后退”按钮一样工作?

我有一个带有Fragment的ViewPager 。 当在Fragment单击按钮时,我在我的上面启动了一个Activity 。 当我在Activity时按下手机上的后退按钮,将我带回到我之前的屏幕,即ViewPager带有Fragment的ViewPager 。 我想在我的ActionBar启用“向上”按钮,为了做到这一点,我编写了以下代码: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.detail); ActionBar actionBar = getActionBar(); actionBar.setDisplayHomeAsUpEnabled(true); } 现在显示“向上”按钮,但点击它不会让我回到上一个屏幕。 我希望“向上”按钮与“后退”按钮相同。 我怎样才能做到这一点? 我究竟做错了什么? 谢谢。

如何检查Firebase应用是否已在Android上初始化

通过以下内容,第一次调用它时可以正常工作,但随后的“FirebaseApp名称[DEFAULT]已经存在!”的调用失败了。 public FirebaseDatabase conn(Context c) { FirebaseOptions options = new FirebaseOptions.Builder() .setApiKey(“key”) .setDatabaseUrl(“url”) .setApplicationId(“ID”) .build(); /////I tried Try and Catch with no success////// FirebaseApp app = FirebaseApp.initializeApp(c, options); /// for this : FirebaseApp app = FirebaseApp.initializeApp(c, options, “some_app”); //// will fail with “FirebaseApp name some_app already exists!” return FirebaseDatabase.getInstance(app); } 以上所有内容都是尝试连接到第二个Firebase应用程序。

java.lang.Void vs void vs Null

Void , void之间究竟有什么区别,我可以使用null吗? 我问这是因为我正在查看示例Android代码,他们使用Void但是它上面有Eclipse错误(它表示Void cannot be resolved to a variable )。 我破解的代码是 public class MyAsyncTask extends AsyncTask{ … } 我这样用它 MyAsyncTask myAsyncTask = new MyAsyncTask(); myAsyncTask.execute((Void),null);//this is the line that breaks “Void cannot be resolved to a variable”

SQLiteDatabase:仅在值不存在时插入(不通过原始SQL命令)

我知道有一个SQL命令是这样的: IF NOT EXISTS ,但由于Android的SQLiteDatabase类有一些很好的方法,我想知道是否可以插入一个值,如果它不存在通过方法。 目前我正在使用它来插入一个String : public long insertString(String key, String value) { ContentValues initialValues = new ContentValues(); initialValues.put(key, value); return db.insert(DATABASE_TABLE, null, initialValues); } ( db是SQLiteDatabase一个实例。) 我尝试使用insertOrThrow()方法而不是insert() ,但它似乎与insert()完全相同。 也就是说,如果该值已经在行中,则会再次插入该值,因此该行现在具有两个相同值的值。

在Android ContentProvider中从网络同步时阻止网络同步循环

我正在编写自己的ContentProvider,它将使用SyncAdapter同步到Web服务。 当同步适配器正在修改内容提供程序的数据时,问题发生在内部调用getContentResolver()。notifyChange导致同步循环时,提供程序触发网络同步。 当客户端应用程序执行修改时需要带有网络同步标志的notifyChange,但在同步适配器修改时应避免使用。 如何在内容提供者内部轻松判断客户端应用程序(应该在修改时触发网络同步)或同步适配器(不应触发网络同步)使用它。 目前我正在使用不同的CONTENT_URI(同步适配器使用CONTENT_URI_NO_SYNC访问数据,使用CONTENT_URI访问客户端应用程序),以便能够区分这两种types的访问并相应地设置网络同步标志。

如何在Eclipse中的“文件”>“新建”>“_____”菜单中添加“Android项目”?

我在线观看所有这些Android教程,并且越来越多地进入Android编程,我发现每次都要去File> New> Other> Android> Android Project是一件轻微的麻烦,特别是当我这个人的时候我看着他们的。 如果有人可以为我提供Android Project(和Android XML文件)放在“New”菜单上的方法,那将会非常有帮助。 谢谢