List和Array类型有什么区别?
它似乎可以与它们进行相同的操作(循环,过滤器表达式等),行为或用法有什么不同吗?
val names1 = listOf("Joe","Ben","Thomas")
val names2 = arrayOf("Joe","Ben","Thomas")
for (name in names1)
println(name)
for (name in names2)
println(name)
Run Code Online (Sandbox Code Playgroud) 当我试图找到一个RecycleViewid 时,我收到以下错误.
错误: - 类型推断失败:没有足够的信息来推断参数T.
码:
class FirstRecycleViewExample : AppCompatActivity() {
val data = arrayListOf<String>()
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.first_recycleview)
val recycler_view = findViewById(R.id.recycler_view) as RecyclerView ///IN THIS LINE I AM GETTING THE ERROR
data.add("First Data")
data.add("Second Data")
data.add("Third Data")
data.add("Forth Data")
data.add("Fifth Data")
//creating our adapter
val adapter = CustomRecycleAdapter(data)
//now adding the adapter to recyclerview
recycler_view.adapter = adapter
}
}
Run Code Online (Sandbox Code Playgroud) Android O引入了一项新功能,即XML字体,可让您将字体用作资源.我font在Android开发人员提供的资源文件中创建文件夹,但问题是我file name must end with .xml在使用fontAndroid O版本中提供的文件夹时收到错误.
请检查以下布局.
<TextView
android:id="@+id/txtMsgCount"
android:layout_width="wrap_content"
android:layout_height="16dp"
android:background="@drawable/msg_count"
android:gravity="center"
android:text="123"
android:fontFamily="@font/Montserrat_Regular" ////IT IS MY FONT STYLE
android:textColor="@android:color/white"
android:textSize="10sp" />
Run Code Online (Sandbox Code Playgroud)
请检查font我res用Montserrat_Regular.otf文件创建的文件夹
使用上面的内容时出现以下错误,如下所示:
我搜索了它但没有得到预期的结果,请检查:
并 Font resource file没有创建,因为我点击了Right-click the font folder and go to New > Font resource file.但是没有获得选项Font resource file,请查看以下内容:
然而现在我从FireBase一次获取所有数据.我想做什么,一次获取LIMITS中的数据,如15条记录.就像在第一次用户从中获取15条记录Firebase时,当用户在屏幕的底部/顶部加载更多数据时,应该有15条记录来自Firebase并添加到列表的底部/ TOP.
我已经实现了逻辑,以便从数据库的顶部或底部获取15条记录,Firebase如下所示: -
public class ChatActivity extends AppCompatActivity implements FirebaseAuth.AuthStateListener {
private FirebaseAuth mAuth;
private DatabaseReference mChatRef;
private Query postQuery;
private String newestPostId;
private String oldestPostId;
private int startAt = 0;
private SwipeRefreshLayout swipeRefreshLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_chat);
mAuth = FirebaseAuth.getInstance();
mAuth.addAuthStateListener(this);
mChatRef = FirebaseDatabase.getInstance().getReference();
mChatRef = mChatRef.child("chats");
/////GETTING THE VIEW ID OF SWIPE LAYOUT
swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipeRefreshLayout);
/////GETTING FIRST 10 RECORDS …Run Code Online (Sandbox Code Playgroud) android firebase firebase-realtime-database firebase-storage
我正在创建聊天应用程序,我从服务器获取EMOJI(IMAGE URLS).
我使用这个图像(表情符号网址)在我TextView的下面的代码行中的文本.
String stringWithHtml = "Sample string with an <img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e136a.png\"></img>" +
"<img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e135a.png\"></img>"+
"<img src=\"http://MY_SERVER.emoji.s3.amazonaws.com/cf68/5794d5f7895fa10a8f8e1350/imgList/5794d5f7895fa10a8f8e135b.png\"></img>";
Drawable drawable = Drawable.createFromStream(new URL(source).openStream(), "src name");
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
Spanned spannedValue = Html.fromHtml(stringWithHtml, drawable, null);
MY_TEXTVIEW.setText(spannedValue);
Run Code Online (Sandbox Code Playgroud)
这一切,我正在使用AsynTask并获得如下预期结果: -
现在我将所有表情符号(图像)存储在我的设备上,并希望在我的文本中使用它TextView.
我的问题是我们如何在TextView上使用带有文本的设备(存储图像)?
我在SO上搜索了它但没有得到预期的结果.请检查我访问过的以下链接.
我已经使用了ImageSpan它,但另一个问题出现了,我已经在SO 上发布了问题点击这里
请帮我解决这个问题.谢谢
我研究过Gitlab Runner两种类型,一种是Custom Runner,另一种是Shared Runner。
我在 中使用了Custom Runner类似的方法来创建的。它运行良好并创建了所需的构建。但通过这种方式,我遇到的一个问题是,它取决于我的系统,这意味着当我的系统打开时,我的工作正常,但当我的系统关闭时,则无法执行操作,因为它取决于我的系统运行程序。dockerGitlabapkAndroidCustom RunnerGitlab
我已阅读有关Shared Runner不依赖于任何内容并执行操作的内容。我已阅读文档,但没有找到实现它的正确方法。
请检查我.gitlab-ci.yml下面的文件
image: jangrewe/gitlab-ci-android
stages:
- build
before_script:
- export GRADLE_USER_HOME=$(pwd)/.gradle
- chmod +x ./gradlew
cache:
key: ${CI_PROJECT_ID}
paths:
- .gradle/
build:
stage: build
tags:
- dev-ci
script:
- ./gradlew assembleDevelopment assembleProduction assembleStaging
artifacts:
paths:
- app/build/outputs/
Run Code Online (Sandbox Code Playgroud)
请帮助Shared Runner我Gitlab
我正在研究android studio并从网上获取一些数据.我尝试使用OkHttpClient并将jar添加到我的项目文件夹但仍然无法导入它.
它表明can't resolve symbol okhttp.我尝试了一些解决方案,但无法解决问题.这是我的build.gradle文件
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.example.app"
minSdkVersion 14
targetSdkVersion 23
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:23.0.0'
compile 'com.google.android.gms:play-services:8.4.0'
// compile files('libs/okhttp-3.0.1.jar')
// compile files('libs/okio-1.6.0.jar')
}
Run Code Online (Sandbox Code Playgroud)
我正在进行FCM集成,但得到了java.lang.ClassNotFoundException: Didn't find class "service.MyFirebaseMessagingService" on path: DexPathList[[zip file "/data/app/com.rk.servicepractise-2/base.apk"],nativeLibraryDirectories=[/vendor/lib64, /system/lib64]]
我已经搜索过但没有得到正确的解决方案,请检查下面的代码,让我知道我在哪里做错了?
请检查我classes 和manifest使用文件gradle,请帮我出短距离这个问题.
我的第一个类是MyFirebaseInstanceIDService扩展FirebaseInstanceIdService类
public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
private static final String TAG = "MyFirebaseIIDService";
@Override
public void onTokenRefresh() {
//Getting registration token
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
//Displaying token on logcat
Log.d(TAG, "Refreshed token: " + refreshedToken);
}
private void sendRegistrationToServer(String token) {
//You can implement this method to store the token on your server …Run Code Online (Sandbox Code Playgroud) 该onBind()方法的"绑定"操作与仅调用onStartCommand()有何不同?
onStartCommand()
Run Code Online (Sandbox Code Playgroud)
"当另一个组件(例如活动)通过调用请求启动服务时,系统会调用此方法startService()."
onBind()
Run Code Online (Sandbox Code Playgroud)
当另一个组件想要通过调用与服务绑定(例如执行RPC)时,系统调用此方法bindService().
我想写一个聊天客户端服务,它接收来自多个用户的消息.哪种功能更合适?
正如我们所知道的Android,我们正在使用的switch语句不同的view下面一样,我们用来implement View.OnClickListener获取onClick接口的方法来执行任何任务
@Override
public void onClick(View view) {
switch (view.getId()) {
case R.id.imgBack:
///DO SOME THING HERE
break;
case R.id.btnSubmit:
///DO SOME THING HERE
break;
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用的相同的东西Kotlin,通过实现 View.OnClickListener和获得如下的覆盖方法
class FeedBackActivity : AppCompatActivity(), View.OnClickListener {
override fun onClick(p0: View?) {
/// HOW CAN I USE THE SWITCH STATEMENT TO DISTINGUISH THE VIEW CLICK
}
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.feed_back_screen)
imgBack.setOnClickListener(this)
}
}
Run Code Online (Sandbox Code Playgroud)
在上面的代码我想用同样的方法switch来区分不同的视图点击.我怎样才能将其存档 …