手机上有android studio,从android手机上的android studio运行后,应用只...

从android studio上的android studio运行后,应用只会打开和关闭.

还显示以下警告:

应用gradle文件必须依赖com.google.firebase:firebase-core,Firebase服务才能正常工作.

我尝试从教程制作应用程序,该应用程序已成功编译,但是在Android手机上运行时只能打开和关闭.

的build.gradle

apply plugin: 'com.android.application'

android {

compileSdkVersion 27

defaultConfig {

applicationId "com.example.hp.chatapp"

minSdkVersion 16

targetSdkVersion 27

versionCode 1

versionName "1.0"

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

}

}

}

dependencies {

implementation fileTree(dir: 'libs', include: ['*.jar'])

implementation 'com.android.support:appcompat-v7:27.1.1'

implementation 'com.android.support.constraint:constraint-layout:1.1.2'

testImplementation 'junit:junit:4.12'

androidTestImplementation 'com.android.support.test:runner:1.0.2'

androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'

//add library

implementation 'com.android.support:design:27.1.1'

implementation 'com.firebaseui:firebase-ui-database:3.2.2'

implementation 'com.google.firebase:firebase-auth:10.2.1'

implementation 'com.firebaseui:firebase-ui-auth:3.2.2'

implementation "com.google.android.gms:play-services-gcm:10.2.1"

}

apply plugin: 'com.google.gms.google-services'

的build.gradle

buildscript {

repositories {

google()

jcenter()

}

dependencies {

classpath 'com.android.tools.build:gradle:3.1.3'

classpath 'com.google.gms:google-services:4.0.2'

// NOTE: Do not place your application dependencies here; they belong

// in the individual module build.gradle files

}

}

主要活动是

public class MainActivity extends AppCompatActivity {

private static int SIGN_IN_REQUEST_CODE= 1;

private FirebaseListAdapter adapter;

RelativeLayout activity_main;

FloatingActionButton fab;

@Override

public boolean onOptionsItemSelected(MenuItem item) {

if(item.getItemId()==R.id.menu_sign_out){

AuthUI.getInstance().signOut(this).addOnCompleteListener(new

OnCompleteListener() {

@Override

public void onComplete(@NonNull Task task) {

Snackbar.make(activity_main,"You have been signed out.",Snackbar.LENGTH_SHORT).show();

finish();

}

});

}

return true;

}

@Override

public boolean onCreateOptionsMenu(Menu menu) {

getMenuInflater().inflate(R.menu.main_menu,menu);

return true;

}

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

super.onActivityResult(requestCode, resultCode, data);

if(requestCode==RESULT_OK){

Snackbar.make(activity_main,"Successfully signed in.Welcome !",Snackbar.LENGTH_SHORT).show();

displayChatMessage();

}

else {

Snackbar.make(activity_main,"We couldn't sign you in.Please try again later",Snackbar.LENGTH_SHORT).show();

finish();

}

}

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

activity_main=(RelativeLayout)findViewById(R.id.activity_main);

fab=(FloatingActionButton)findViewById(R.id.fab);

fab.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

EditText input= (EditText)findViewById(R.id.input);

FirebaseDatabase.getInstance().getReference().push().setValue(new ChatMessage(input.getText().toString(),FirebaseAuth.getInstance().getCurrentUser().getEmail()));

input.setText("");

}

});

//check if not sign in then navigate signin page

if(FirebaseAuth.getInstance().getCurrentUser()==null)

{

startActivityForResult(AuthUI.getInstance().createSignInIntentBuilder().build(),SIGN_IN_REQUEST_CODE);

}

else {

Snackbar.make(activity_main,"Welcome "+FirebaseAuth.getInstance().getCurrentUser().getEmail(),Snackbar.LENGTH_SHORT).show();

}

//load content

displayChatMessage();

}

private void displayChatMessage() {

ListView listOfMessage=(ListView)findViewById(R.id.list_of_message);

//Suppose you want to retrieve "chats" in your Firebase DB:

Query query =

FirebaseDatabase.getInstance().getReference().child("chats");

//The error said the constructor expected FirebaseListOptions - here you create them:

FirebaseListOptions options = new FirebaseListOptions.Builder()

.setQuery(query, ChatMessage.class)

.setLayout(android.R.layout.simple_list_item_1)

.build();

//Finally you pass them to the constructor here:

adapter = new FirebaseListAdapter(options){

@Override

protected void populateView(View v, ChatMessage model, int position) {

// Get references to the views of message.xml

TextView messageText = (TextView)v.findViewById(R.id.message_text);

TextView messageTime = (TextView)v.findViewById(R.id.message_time);

TextView messageUser=(TextView)findViewById(R.id.message_user);

messageText.setText(model.getMessageText());

messageUser.setText(model.getMessageUser());

messageTime.setText(DateFormat.format("dd-MM-yyyy (HH:mm:ss)",model.getMessageTime()));

}

};

listOfMessage.setAdapter(adapter);

}

}

EDITED

logcat记录错误

08-03 02:00:47.736 3199-3199/com.example.hp.chatapp E/HAL: PATH3 /odm/lib64/hw/gralloc.qcom.so

PATH2 /vendor/lib64/hw/gralloc.qcom.so

PATH1 /system/lib64/hw/gralloc.qcom.so

PATH3 /odm/lib64/hw/gralloc.msm8953.so

08-03 02:00:47.737 3199-3199/com.example.hp.chatapp E/HAL: PATH2 /vendor/lib64/hw/gralloc.msm8953.so

PATH1 /system/lib64/hw/gralloc.msm8953.so

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值