Tag: android

Android室 – 简单的选择查询 – 无法访问主线程上的数据库

我正在试用Room Persistence Library的示例。 我创建了一个实体: @Entity public class Agent { @PrimaryKey public String guid; public String name; public String email; public String password; public String phone; public String licence; } 创建一个DAO类: @Dao public interface AgentDao { @Query(“SELECT COUNT(*) FROM Agent where email = :email OR phone = :phone OR licence = :licence”) int agentsCount(String email, String […]

更新Recycler视图并为屏幕旋转创建可分区(这里最好的做法是什么?)

我一直在努力学习Kotlin两个月。 我在Kotlin做了一个Reddit应用程序,在Recycler View Grid Layout显示缩略图 将我的情况情景化 在MainActivity的apiCall方法中,我调用RedditAPI ,在其中使用RedditAPI进行网络调用,并根据ResultValue object class返回Observable然后,我在MainActivity检索对象,并将其显示在Recycler View ,这很有效。 但是,当我实现无限滚动,并有新的对象生成每次向下滚动时,我不得不将所有值添加到一个mutable list cumulativeValue ,更改我的适配器的结构,只是调用adapter.notifydatasetchange()滚动,也工作出来罚款。 private val cumulativeValues = mutableListOf() 然后在onscrolllistener redditAPI.callParameters(location, page, address.queryLimit, afterValue) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( { result -> cumulativeValues.addAll(result.data.children.toMutableList()) 我的代码工作,但我想实现屏幕旋转,现在我不知道我是否可以做到这一点parcelables,因为我把所有从网络调用检索到的值添加到一个可变的列表 我使用kotlin插件来实现parcelable类的另一个类, 这里有另一个类的RedditChildrenDetails作为参数,我也为这个类实现了parcelable(在同一个链接中)。 class RedditChildrenResponse(val data: RedditChildrenDetails) : Parcelable { … class RedditChildrenDetails( val url: String, val title: String, val thumbnail: String, […]

在ViewHolder中使用kotlin-android-extensions

class MyViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) { fun bindata(text: SingleText){ itemView.title.text = text.title itemView.desc.text = text.desc } } 像这样的代码,Kotlin在android扩展中有任何缓存? 当我反编译Kotlin字节码 public final void bindata(@NotNull SingleText text) { Intrinsics.checkParameterIsNotNull(text, “text”); ((AppCompatTextView)this.itemView.findViewById(id.title)).setText((CharSequence)text.getTitle()); ((AppCompatTextView)this.itemView.findViewById(id.desc)).setText((CharSequence)text.getDesc()); } 这意味着当我在Adapter.onBindViewHolder()中调用binData时,它会每次调用findViewById 这大大增加了性能的损失,并没有达到布局重用的目的 Kotlin在ViewHolder的android扩展中有任何缓存逻辑?

像在Java中那样扩展TextInput以在React Native中自定义默认字体和文本颜色

我想创建一个“TypefaceTextInput”,它将具有特定的字体和文本颜色,并将替换所有TextInput中的原生反应。 这样我就不必每次声明字体和文本颜色。 有没有办法做到这一点? 我是新来的反应本地化,但熟悉Android和Java和KOTLIN。 如果你能用类比来回答我们如何在java或kotlin中做到这一点,那将是非常有帮助的。 在这里find这个答案,说 我们的应用程序组件库与我们的设计团队的风格指南的风格和命名相匹配 但是我认为如果我们使用这个,会有额外的嵌套组件。 有没有什么办法可以扩展TextInput并在子类中做需要的事情?

Android,领域,Gradle:错误:注释处理器:找不到RealmProcessor

Android Studio 2.3.3 我的项目bulid.gradle: // Top-level build file where you can add configuration options common to all sub-projects/modules. buildscript { ext.kotlin_version = ‘1.1.3’ repositories { jcenter() } dependencies { classpath ‘com.android.tools.build:gradle:2.3.3’ classpath ‘com.google.gms:google-services:2.0.0-alpha6’ classpath “io.realm:realm-gradle-plugin:3.5.0” classpath “org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version” // NOTE: Do not place your application dependencies here; they belong // in the individual module build.gradle files […]

数据列表没有显示在Android应用程序的主要活动的回收站视图中,使用kotlin进行开发。

activity_main.xml代码: RecyclerView在主要activity,list_row.xml代码中的数据列表: 主要活动代码在这里: class MainActivity : AppCompatActivity() { private var adapter : PersonListAdapter? = null private var layoutManager : RecyclerView.LayoutManager? = null private var personList : ArrayList? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) personList = ArrayList() layoutManager = LinearLayoutManager(this) adapter = PersonListAdapter(personList!!, this) //set up recycle view RecViewId.layoutManager = layoutManager RecViewId.adapter = […]

改造 – 分析意外的数据types

我正在Android Kotlin项目中使用Retrofit库 并想处理解析意外的数据types。 例如,如果JSON: { “boolean”: true, “number”: “123”, “string”: “Hello World” } 数据类将是 data class Response ( val boolean: Boolean? = null, val number: Int? = null, val string: String? = null ) 通常情况下,Retrofit将无法解析响应,并且onFailure()将被调用,因为改装不能解析属性number因为它是以字符串forms返回的,并且期望编号,整个对象将无法解析。 我想要的,正常处理请求只是未分析的字段应该是空的。

Basic ConstraintLayout(工具栏,片段容器和底部导航)

我正在适应Android的Kotlin和ConstraintLayouts。 我试图有一个简单的布局,有一个工具栏和底部的导航视图。 这是我目前的XML: 不幸的是,我误解了一些东西,似乎无法获得片段容器来填充工具栏和底部导航之间的空间。 有人能把我引向正确的方向吗?

等待API调用以完成RxJava和Retrofit

我正在使用RxAndroid和RxJava和Kotlin向API发出各种请求,并以异步方式将其收回: getClient().sendSomeData(data) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( { Log.i(“upload”, “data ok”) }, { t -> Log.e(“upload”, “data error: ” + t.stackTrace) } ); getClient().sendSomeOtherData(otherData) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe( { Log.i(“upload”, “otherData ok”) }, { t -> Log.e(“upload”, “data error: ” + t.stackTrace) } ); 等等。 现在我想要做的是,等待所有api请求完成并显示进度。 我如何等待所有可观察的事情完成并获得进展回调?

Android应用程序库效率

Android是否做任何事情来跨应用程序共享重复的库? 看来,操作系统可以检测到重复的哈希值,并避免为每个应用程序分开的副本。 如果用户安装了50个应用程序,并且其中许多应用程序具有Android支持,Kotlin和Guava库的版本,那么这将是一个很好的机会来节省磁盘空间。