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) 当我试图找到一个RecycleView
id 时,我收到以下错误.
错误: - 类型推断失败:没有足够的信息来推断参数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
在使用font
Android 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
类似的方法来创建的。它运行良好并创建了所需的构建。但通过这种方式,我遇到的一个问题是,它取决于我的系统,这意味着当我的系统打开时,我的工作正常,但当我的系统关闭时,则无法执行操作,因为它取决于我的系统运行程序。docker
Gitlab
apk
Android
Custom Runner
Gitlab
我已阅读有关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
来区分不同的视图点击.我怎样才能将其存档 …