小编Mal*_*ngh的帖子

Gmail 错误“无法附加文件”

我正在尝试使用 Gmail 通过电子邮件发送 PDF 文件。但是,Gmail 应用程序显示吐司:

无法附加文件

PDF 文件未损坏,并在应用程序的缓存目录中成功生成。

代码:(如果您需要 Java 代码,请在下面评论。)

    val photoURI: Uri = FileProvider.getUriForFile(this, "com.packagename.provider",
            File(this.cacheDir.path + "/Report.pdf"))

    val emailIntent = Intent(Intent.ACTION_SENDTO)
    emailIntent.data = Uri.parse("mailto:")
    emailIntent.putExtra(Intent.EXTRA_STREAM, photoURI)
    emailIntent.putExtra(Intent.EXTRA_EMAIL, arrayOf("some@domain.com"))
    emailIntent.putExtra(Intent.EXTRA_SUBJECT, "subject")
    emailIntent.addFlags(Intent.FLAG_GRANT_READ_URI_PERMISSION)
    emailIntent.addFlags(Intent.FLAG_GRANT_WRITE_URI_PERMISSION)
    startActivity(emailIntent)
Run Code Online (Sandbox Code Playgroud)

请帮忙

android file-sharing android-file kotlin android-fileprovider

8
推荐指数
1
解决办法
2290
查看次数

将图像从URL加载到Recyclerview

我有一个应用程序,可以从数据库加载内容以及来自互联网的图像.我使用的是RecyclerView沿着CardView来显示我的列表形式的内容.

每行左侧有一个图像,右侧有文本.问题是文本加载速度很快但图像需要时间加载,所以我希望图像继续在后台加载,然后在ImageView加载完成后加载到对象中.我不知道如何解决这个问题.

android image-loading

7
推荐指数
2
解决办法
8294
查看次数

Kotlin parcelable类抛出ClassNotFoundException

我有一个类,我用它作为我的数据模型RecyclerView,以便将此类的对象从一个活动传递到另一个活动,Intent我必须通过它Parcelable

现在的问题是我能够将对象从一个活动发送到另一个活动并检索它,这样应用程序就不会崩溃,而是继续投入ClassNotFoundExceptionlogcat屏幕.

我究竟做错了什么?

----> Person.kt

@Parcelize
class Person(var name: String, var username: String, var address: String, val avatar: Int) : Parcelable
Run Code Online (Sandbox Code Playgroud)

---->在MainActivity.kt中

val intent = Intent(this, ProfilePage::class.java)
        intent.putExtra("clicked_person",person)
        startActivity(intent)
Run Code Online (Sandbox Code Playgroud)

---->.onCreate()在ProfilePAge.kt中

var person  = intent.getParcelableExtra<Person>("clicked_person") as Person
Run Code Online (Sandbox Code Playgroud)

而且 Exception

E/Parcel: Class not found when unmarshalling: com.example.testkot.kotlinapp.Person
                                         java.lang.ClassNotFoundException: com.example.testkot.kotlinapp.Person
Run Code Online (Sandbox Code Playgroud)

请记住,应用程序不会崩溃,它会继续工作,但会在logcat中显示异常

parcelable android-intent kotlin

7
推荐指数
2
解决办法
6224
查看次数

Kotlin:如何从另一个班级访问字段?

package example

class Apple {
    val APPLE_SIZE_KEY: String = "APPLE_SIZE_KEY"
}
Run Code Online (Sandbox Code Playgroud)

类:

package example

class Store {
     fun buy() {
      val SIZE = Apple.APPLE_SIZE_KEY
    }
}
Run Code Online (Sandbox Code Playgroud)

错误:

'APPLE_SIZE_KEY'在'example.Apple'中拥有私人访问权限

官方文档描述了如果我们不指定任何可见性修饰符,public则默认使用.

我的第二个问题是:

为什么会出现上述错误?

variables android access-modifiers kotlin android-studio

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

setAndAllowWhileIdle 和 setExactAndAllowWhileIdle 之间的区别

AlarmManager.setAndAllowWhileIdle()和 和有什么区别AlarmManager.setExactAndAllowWhileIdle()?它们对 Android 6.0 (Marshmallow) API 中引入的 Doze 模式有何影响?

android android-alarms android-6.0-marshmallow android-doze-and-standby

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

Android NDK集成:错误:无法加载类BuildType $ Impl

我正在尝试将NDK集成到我的项目中.我正在使用Gradle包装器2.9和类路径:gradle-experimental:0.6.0-alpha3.

项目级别:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.6.0-alpha6'
      }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}
Run Code Online (Sandbox Code Playgroud)

应用级别gradle:

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "com.ms.knowursensor.android"
            minSdkVersion.apiLevel = 11
            targetSdkVersion.apiLevel = 23
        }
    }

    compileOptions.with {
        sourceCompatibility=JavaVersion.VERSION_1_7
        targetCompatibility=JavaVersion.VERSION_1_7
    }

    android.ndk {
        moduleName = "sensorgraph"
    }
    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles  += file('proguard-rules.txt')
        }
    } …
Run Code Online (Sandbox Code Playgroud)

android android-ndk android-build android-gradle-plugin

5
推荐指数
1
解决办法
3351
查看次数

使用Retrofit在URL中获取带有params的URL请求

如何&在Android中使用Retrofit 附加了params的URL中发出HTTP GET请求?

网址:http://api.com?name = remote&class = TV

目前,我正在使用:

@GET("http://api.com?name={name}&class={class}")
    Call<CustomType> get(
            @Path(value = "name",encoded = false) String name,
            @Path(value = "class",encoded = false) String class);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

java.lang.IllegalArgumentException: URL query string "name={name}&class={class}" 
must not have replace block. 
For dynamic query parameters use @Query.
Run Code Online (Sandbox Code Playgroud)

android annotations exception httprequest retrofit2

5
推荐指数
1
解决办法
2705
查看次数

启动Android Studio 2.2 Preview 1时出错

我下载并解压缩了Android Studio 2.2 Prev 1的ZIP.我在我的系统上使用Ubuntu并在使用终端打开studio.sh时收到此消息:

 Syntax error: "(" unexpected (expecting "fi")
Run Code Online (Sandbox Code Playgroud)

怎么解决这个?

ide ubuntu android android-studio

5
推荐指数
1
解决办法
594
查看次数

改造中依次有多个类似的请求

在Retrofit中,有什么方法可以依次执行多个请求吗?

这些请求使用相同的Java接口,只是它们所包含的参数有所不同ArrayList

对于请求A1,A2,A3,A4,A5 ...

  1. 打A1

onResponse()A1的2 。

  1. 打A2

2. onResponse()A2中的称为

  1. 打A3。

onResponse()被称为。

java android kotlin retrofit retrofit2

5
推荐指数
1
解决办法
1820
查看次数

聪明地施放到kotlin.String

我正在尝试Kotlin并从编译器获得消息:

Smart cast to kotlin.String
Run Code Online (Sandbox Code Playgroud)

码:

/*"mTripStatus" is a nullable String*/
var html :String = HTML
html = if (mTripStatus!=null) html.replace("TRIP_STATUS_VALUE", mTripStatus) else html
Run Code Online (Sandbox Code Playgroud)

这是什么意思?

android compiler-warnings kotlin kotlin-null-safety

5
推荐指数
1
解决办法
2292
查看次数