小编Kot*_*boy的帖子

在Kotlin(Android)中将文本资源(assets文件夹中的文本文件)作为字符串读取

我需要读取存储在src/main/assets/ie 的文本文件; 在assets文件夹中,并将其作为字符串.

有一个简单的方法来做到这一点.

Java复制,粘贴,转换功能都给人带来麻烦,所以我宁愿使用kotlin方式.

我需要一种kotlin方式来做到这一点

string android file android-assets kotlin

21
推荐指数
3
解决办法
1万
查看次数

类型不匹配:推断类型是String,但是在kotlin中预计会出现Charset

我的主要活动中有以下代码:

var qNa_list = parseQuestions(loadJSONFromAsset("qna_list.json"))


fun loadJSONFromAsset(file_name:String): String? {
    var json: String? = null
    try {

        val isis = assets.open(file_name)

        val size = isis.available()

        val buffer = ByteArray(size)

        isis.read(buffer)

        isis.close()

        json = String(buffer, "UTF-8")


    } catch (ex: IOException) {
        ex.printStackTrace()
        return null
    }

    return json

}
Run Code Online (Sandbox Code Playgroud)

当我尝试编译它时,我收到以下错误.

我修复了由于nullables引起的其他一些错误,但这个是我无法解码的.

错误:(127,35)类型不匹配:推断类型是String但是预期是Charset

我已将一些值更改为可为空以适应错误,但json = String(buffer, "UTF-8")(UTF-8)始终以红色下划线.

string android json kotlin

9
推荐指数
1
解决办法
5667
查看次数

获取Django中模型实例的FileField的绝对文件路径

我有一个页面,人们可以将文件上传到我的服务器.

我想对Celery中的文件做一些事情.所以,我需要知道我的模型的上传FileFiled的绝对文件路径.

假设我查询了模型并得到了实例.现在我需要获取包含文件路径的绝对文件路径.

obj = Audio.objects.get(pk=1)

我正在尝试obj.filename,它只打印文件名而不是绝对路径.

我知道我可以获得我输入的上传路径upload_to和媒体目录,但我想知道是否有更多的干和自动方法.

我如何获得absolute pathfile,其提供的文件归档obj

django absolute-path filepath filefield

6
推荐指数
1
解决办法
1万
查看次数

如何在Firestore数据库中获取Android中的文档ID或名称以传递给另一个活动?

我正在使用FirestoreRecyclerAdapter.

我能够获得每个模型和文档属性.但我想获得文档ID.

我尝试使用model.Autosuggestions,但没有文档ID或名称

我有以下DealsHolder类.这是在Kotlin.然而,所有类的其余部分都在java中.

package com.guidoapps.firestorerecycleradaptersample


import com.google.firebase.firestore.IgnoreExtraProperties

@IgnoreExtraProperties
data class DealsResponse(var title:String? = null,
                var price:String? = null,
                var dealPrice:String? = null,
                var image:String? = null,
                var description: String? = null)
Run Code Online (Sandbox Code Playgroud)

我在onCreate()中初始化的以下函数

 private void getDealsList(){
        Query query = db.collection("deals").orderBy("dateTime", Query.Direction.DESCENDING);

        FirestoreRecyclerOptions<DealsResponse> response = new FirestoreRecyclerOptions.Builder<DealsResponse>()
                .setQuery(query, DealsResponse.class)
                .build();

        adapter = new FirestoreRecyclerAdapter<DealsResponse, MainActivity.DealsHolder>(response) {
            @Override
            public void onBindViewHolder(MainActivity.DealsHolder holder, int position, DealsResponse model) {
                progressBar.setVisibility(View.GONE);
                holder.textTitle.setText(model.getTitle());
                holder.textPrice.setText(model.getPrice());
                holder.textDesc.setText(model.getDescription());
                holder.textDealPrice.setText(model.getDealPrice());

                holder.textPrice.setPaintFlags(holder.textPrice.getPaintFlags() | Paint.STRIKE_THRU_TEXT_FLAG);

                Glide.with(getApplicationContext())
                        .load(model.getImage())
                        .into(holder.imageView); …
Run Code Online (Sandbox Code Playgroud)

java android firebase firebaseui google-cloud-firestore

2
推荐指数
1
解决办法
6506
查看次数