Tag: 安卓

RealmResults大小正在返回零

我有一个小问题,我找不到任何结果。 是的,我也做了一些研究。 我有一个variablesmResults = RealmResults ; 这有数据,你可以看到下面的图片 但是当我键入>> mResults.size <<返回0.问题是什么? 顺便说一句。 我在Android使用kotlin工作。 pröblem在RecyclerviewgetItemCöunt中 ActivityMain :::: Realm.init(this) val configuration = RealmConfiguration.Builder().build() Realm.setDefaultConfiguration(configuration) mRealm = Realm.getDefaultInstance() val results:RealmResults = mRealm.where(Drop::class.java).findAll() mToolbar = findViewById(R.id.toolbar) mRecycler = findViewById(R.id.rv_drops) val manager = LinearLayoutManager(this) mRecycler.layoutManager = manager mRecycler.adapter = AdapterDrops(this, results) open class Drop : RealmObject { private var what: String? […]

使用okHTTP和GSON从API中提取数据

对于使用API​​(和kotlin)这个新手来说,我很难弄清楚如何从API中将数据提取到模型对象中,并且希望有人能指出我的正确方向。 下面的示例代码。 val request = Request.Builder().header(“X-Mashape-Key”, keyVal).url(url).build() //make request client val client = OkHttpClient() //create request client.newCall(request).enqueue(object: Callback { override fun onResponse(call: Call?, response: Response?) { //grab as string, works fine val body = response?.body()?.string() //make my builder, works fine val gson = GsonBuilder().create() // to pass type of class to kotlin :: val cardFeed […]

Android Gradle 3.0和本地库的“Unresolved reference R”

我正在努力更新我的项目与Android Gradle插件3.0.1编译。 事实: app项目取决于本地库: lib ./gradlew assembleDebug for app在编译lib时出错无法Unresolved reference: R 将lib作为一个独立的项目成功 AndroidManifest的任何一个项目的package都是一样的 我试图禁用aapt2( android.enableAapt2=false在gradle.properties ) – 没有运气 可能是相关的:使用Kotlin(1.2.21) 我错过了什么? 看起来很简单,但我找不到在构建app没有生成R的原因,而是直接构建lib 。

如何在使用房间时手动调用CREATE TABLE?

鉴于Java中的这个自定义SQLiteOpenHelper : public class ExamplesOpenHelper extends SQLiteOpenHelper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME = “app.db”; private static final String CREATE_TABLE_STATEMENT = “CREATE TABLE examples (_id INTEGER PRIMARY KEY, NAME TEXT);”; public ExamplesOpenHelper(Context context) { super(context, DATABASE_NAME, null, DATABASE_VERSION); } @Override public void onCreate(SQLiteDatabase db) { db.execSQL(CREATE_TABLE_STATEMENT); } @Override […]

FirebaseRecyclerAdapter – populateViewHolder不访问数据

我试图从我的实时数据库显示一些数据到一个回收适配器没有运气。 我已经使FirebaseRecyclerAdapter在另一个活动(java)上工作,但在这一个上它不起作用(kotlin)。 奇怪的是,如果我使用ValueEventListener,数据返回就好了,但是FirebaseRecyclerAdapter不起作用。 类: class FriendsActivity : AppCompatActivity() { private lateinit var friendsDb: DatabaseReference private var currentUser: FirebaseUser? = null override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_friends) supportActionBar?.title = “Friends” friends_main_rec.layoutManager = LinearLayoutManager(this) friends_main_rec.setHasFixedSize(true) currentUser = FirebaseAuth.getInstance().currentUser friendsDb = FirebaseDatabase.getInstance().reference.child(“FRIENDS”) .child(currentUser!!.uid) val friendsRecyclerViewAdapter = object : FirebaseRecyclerAdapter( Friends::class.java, R.layout.friend_single, FriendsViewHolder::class.java, friendsDb) { override fun populateViewHolder(viewHolder: […]

房间+匕首2. NPE

使用房间+ LiveData + Dagger2 + Kotlin 分贝代码: @Database(entities = arrayOf(MonthlyBudget::class, Purchase::class), version = 1, exportSchema = false) @TypeConverters(DateTypeConverter::class) abstract class AppDatabase : RoomDatabase() { abstract fun budgetDAO(): BudgetDAO abstract fun purchaseDAO(): PurchaseDAO } 在提供db的dagger2中的方法 @Provides fun providesAppDatabase(context: Context): AppDatabase = Room.databaseBuilder(context, AppDatabase::class.java, “my-budget-db”).allowMainThreadQueries().build() 在匕首2中返回null的方法 @Provides @Singleton @Named(“CurrentMonthBudget”) fun provideCurrentMonthBudget(repository: AppRepository): MonthlyBudget = repository.currentMonthBudget() 对象的注入 @Inject […]

我可以调用API级别19中的Bundle#putString方法吗?

在API级别19的文档中 ,Bundle类中没有putString方法。 但是我可以调用Bundle#putString方法,我的应用程序工作正常。 我可以调用putString方法吗? 为什么我的应用程序工作正常? 环境: 由Kotlin编写代码 Android Studio 2.1.1 compileSdkVersion 24 buildToolsVersion 24.0.1 nminSdkVersion 17 targetSdkVersion 24

Kotlin的“@Parcelize”是否适用于非数据类?

我有简单的数据类。 我的意思是,他们是逻辑上的数据类,但不是data class ,因为我需要inheritance和其他构造函数。 他们只有字段(基本typesInt? , String?或List?等)和构造函数。 我需要通过他们(所有的领域需要通过)从活动到活动,所以我需要使他们parcellisable(或有更好的办法?)。 我首先创建它们作为data class ,只是添加@Parcelize 。 即使有一个警告和红线说“创造者”或什么的,我可以忽略他们和应用程序按预期工作。 但是,现在基于上述原因,我把它们改成了正常的类,突然间出现了编译错误。 Error:java.util.NoSuchElementException: Collection contains no element matching the predicate. at org.jetbrains.kotlin.android.parcel.ParcelableCodegenExtension.getPropertiesToSerialize(ParcelableCodegenExtension.kt:374) ….too long… at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Error:Execution failed for task ‘:app:kaptGenerateStubsDebugKotlin’. Internal compiler error. See log for more details 我怎么解决这个问题? 我应该使用data class吗? 但是我需要解析一个JSON对象来创建它们。 这些类看起来像这些(不是实际的类,但为简化说明)。 有没有更好的办法比手工实现那个无聊,庞大的可执行代码? @Parcelize open class Dog():Parcelable […]

无法导入AndroidJUnit4和ActivityTestRule

我试图做一个仪器测试的类。 这个类在androidTest文件夹app\src\androidTest\java\… 。 但是, AndroidJUnit4和ActivityTestRule无法解析。 在import语句中, import android.support.test.runner.AndroidJUnit4单词“runner”是红色的。 考试class在Kotlin。 我试图删除它,并在Java中创建一个,但仍不能导入AdnroidJUnit4。 我读了一些类似的问题,但没有find解决我的情况。 这两个是项目和应用程序build.gradle文件:我的gradle文件有什么问题吗? 应用程序build.gradle: apply plugin: ‘com.android.application’ apply plugin: ‘kotlin-android’ apply plugin: ‘kotlin-kapt’ android { compileSdkVersion rootProject.ext.compileSdkVersion defaultConfig { applicationId “com.sample.me” minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion versionCode 1 versionName “1.0” archivesBaseName = “$applicationId-$versionName-$versionCode” testInstrumentationRunner “android.support.test.runner.AndroidJUnitRunner” // For room compat multiDexEnabled true javaCompileOptions { annotationProcessorOptions { arguments = […]

Glide无法加载服务器映像url

试图加载像这样的类似url的图像 “https://firebasestorage.googleapis.com/v0/b/content-office-e1931.appspot.com/o/usersData%2Fposts%2Fmedia_-KpGAURJbB33BKhTynV1?alt=media&token=26135949-a918-4572-9293-b639d43f04aa” 但滑翔显示日志 Load failed for with size [360×360] class com.bumptech.glide.load.engine.GlideException: Failed to load resource class com.bumptech.glide.load.engine.GlideException: Failed to load resource 先前的日志 Failed to find GeneratedAppGlideModule. You should include an annotationProcessor compile dependency on com.github.bumptech.glide:glide:compiler in your application and a @GlideModule annotated AppGlideModule implementation or LibraryGlideModules will be silently ignored 我不明白为什么我应该添加AppGlideModule等只是为了加载图像。 我在Kotlin的代码,我已经添加了编译器依赖如下 //image loader compile […]