Articles of java的

如何从Android的MPcharts的水平条形图中获取条形点击事件?

我正在使用MPAndroidChart库 。 我在仪表板中使用了水平条形图。 我想通过单击该图表的特定栏来导航到另一个活动。 我怎样才能做到这一点??

如何将数据从服务器传递到Android应用程序:REST vs Sockets

我正在编写一个需要服务器上的一些数据的Android应用程序。 我也在用Java编写服务器端。 将数据从服务器传递到Android设备的最佳方法是什么:使用REST或套接字(如Kryonet)? 采用何种格式:XML / JSON(用于REST)或普通Java对象? 提前致谢。

带有Kotlin的Dagger 2,在ApplicationComponent中返回带generics的types

我想返回带有generics的types,通过子图公开,问题出在自动生成的java类中,我试着做一些事情,但解决它的一种方法是从AppComponent中删除genericstypes并返回简单对象。 有更“正确”的方法吗? 这是AppComponent @Singleton @Component(modules = arrayOf(ApplicationModule::class)) interface ApplicationComponent { fun inject(activity: BaseActivity<MvpView, MvpPresenter>) //… fun dataBase(): Database } 这是ApplicationModule中的函数 @Provides @Singleton fun provideDatabase(@AppContext context: App): Database { Realm.init(context) val config = RealmConfiguration.Builder() .deleteRealmIfMigrationNeeded() .name(“db”) .build() Realm.setDefaultConfiguration(config) return RealmDatabase(Realm.getDefaultInstance()) } 然后我想收到我的数据库 @Provides @ActivityScope fun provideDich(database: Database) = Someobject(database) 然后我看到日志说: **Error:com.test.data.storage.Database cannot be provided without an […]

如何在类和使用它的片段之间进行通信?

我正在使用Android Studio。 我无法在线find答案,所以即使是解决方案的链接也会有所帮助。 我有一个Activity ,其中包含许多片段。 其中一个片段称为BookGridFragment ,它使用一个名为BookGrid的类。 BookGridFragment看起来像这样(我遗漏了无关的位): public class BookGridFragment extends Fragment { BookGrid myBookGrid; public BookGridFragment() {} @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { super.onCreateView(inflater, container, savedInstanceState); // Inflate layout View rootView = inflater.inflate( R.layout.fragment_book_grid, container, false); myBookGrid = rootView.findViewById(book_grid); return rootView; } public void setBook(Book thisBook) { myBookGrid.setBook(thisBook); } […]

HttpPost适用于Java项目,而不适用于Android

我已经为我的Android设备编写了一些代码,用于通过https登录网站,并从结果页面中解析出一些数据。 首先获取HttpGet以获取登录所需的一些信息,然后使用HttpPost来执行实际的登录过程。 下面的代码在Eclipse中的Java项目中运行良好,它在构建路径上有以下Jar文件: httpcore-4.1-beta2.jar , httpclient-4.1-alpha2.jar , httpmime-4.1-alpha2.jar , commons-logging-1.1.1.jar httpmime-4.1-alpha2.jar commons-logging-1.1.1.jar 。 public static MyBean gatherData(String username, String password) { MyBean myBean = new MyBean(); try { HttpResponse response = doHttpGet(URL_PAGE_LOGIN, null, null); System.out.println(“Got login page”); String content = EntityUtils.toString(response.getEntity()); String token = ContentParser.getToken(content); String cookie = getCookie(response); System.out.println(“Performing login”); System.out.println(“token = “+token +” […]

转换GMT DateTime字符串

我是Java新手,我使用SimpleDateFormat和Calendar时有点SimpleDateFormat 。 我有一个Date-Object,想要提取一个GMT日期字符串,如yyyy-MM-dd HH:mm:ss 。 我住在德国,目前我们是GMT +0200。 我的日期 – 对象的时间是例如2011-07-18 13:00:00 。 我现在需要的是2011-07-18 11:00:00 。 我的时区的偏移量应自动计算。 我试过这样的东西,但我想某处有一个错误: private String toGmtString(Date date){ SimpleDateFormat sd = new SimpleDateFormat(“yyyy-MM-dd HH:mm:ss”); TimeZone timeZone = TimeZone.getDefault(); Calendar cal = Calendar.getInstance(new SimpleTimeZone(timeZone.getOffset(date.getTime()), “GMT”)); sd.setCalendar(cal); return sd.format(date); } 在某些设备上,datetring会像我想要的那样返回。 在其他设备上,偏移量未正确计算,我从输入日期对象接收日期和时间。 你能给我一些提示或建议吗? 我想我的方式获得默认时区不起作用?

为什么Java 8 Streams只能从API级别24获得?

支持的Java 8语言function和API声明我们可以在任何min sdk API级别的android项目中使用默认方法和lambdaexpression式。 但是,Stream库(java.util.stream)仅支持API 24及更高版本。 有人可以说明为什么会这样吗? 对我来说它没有意义,因为据我所知,添加流API不需要JVM修改,不像添加lambdas或默认方法; 它只是简单地利用集合上的默认方法等Java 8特性,并为java util库添加了一些新代码?

我在哪里可以测试我的httpPost方法?

你可以建议一个服务器,我可以测试我的类发送和接收httpPost()方法的响应吗?

设置多方位 – Android

我是android编程的新手,我遇到了方向问题。 我希望我的活动只能在肖像和反向肖像和方向中查看。 我以为android:screenOrientation=”portrait|reversePortrait”会起作用,但它不起作用。 在清单文件中有没有办法做到这一点?

保留使用reflectionAndroid Proguard的类

我正在尝试使用这个课程。 它在调试版本上工作正常,但它永远不适用于发布版本。 我知道proguard会删除它,所以问题是如何保持这个类? import android.support.design.internal.BottomNavigationItemView; import android.support.design.internal.BottomNavigationMenuView; import android.support.design.widget.BottomNavigationView; import android.util.Log; import java.lang.reflect.Field; public class BottomNavigationViewHelper { public static void disableShiftMode(BottomNavigationView view) { BottomNavigationMenuView menuView = (BottomNavigationMenuView) view.getChildAt(0); try { Field shiftingMode = menuView.getClass().getDeclaredField(“mShiftingMode”); shiftingMode.setAccessible(true); shiftingMode.setBoolean(menuView, false); shiftingMode.setAccessible(false); for (int i = 0; i < menuView.getChildCount(); i++) { BottomNavigationItemView item = (BottomNavigationItemView) menuView.getChildAt(i); //noinspection RestrictedApi […]