2017-12-16 15 views
0

Tools >> FirebaseのSave and Retrieve Dataの下にFirebaseに接続しました。私のプロジェクトはJavaを使ったアンドロイドスタジオにあります。Firebaseリアルタイムデータベースへの読み込み

これは私がlogcat、以下のコードから取得エラーです:

12-16 11:42:42.699 2485年から2550年/? E/PlayCommon:[120] com.google.android.play.aga(466):サーバーへの接続に失敗しました:java.net.UnknownHostException:ホスト "play.googleapis.com"を解決できません:ホスト名に関連付けられたアドレスがありません 12-16 11:43:00.005 1534-1547 /? E/memtrack:memtrackモジュールを読み込めませんでした

このパッケージはcom.example.sammay.firebaseapplication;

import android.support.v7.app.AppCompatActivity; 
    import android.os.Bundle; 
    import android.text.TextUtils; 
    import android.view.View; 
    import android.widget.Button; 
    import android.widget.EditText; 
    import android.widget.Spinner; 
    import android.widget.Toast; 

    import com.google.firebase.database.DatabaseReference; 
    import com.google.firebase.database.FirebaseDatabase; 

    public class MainActivity extends AppCompatActivity { 

     EditText editTextName; 
     Button buttonAdd; 
     Spinner spinnerGenres; 

     DatabaseReference databaseArtist; 

     @Override 
     protected void onCreate(Bundle savedInstanceState) { 

      super.onCreate(savedInstanceState); 
      setContentView(R.layout.activity_main); 

    //  databaseArtist = FirebaseDatabase.getInstance().getReference("artists"); 

      editTextName = (EditText)findViewById(R.id.editTextName); 
      buttonAdd = (Button)findViewById(R.id.buttonAddArtist); 
      spinnerGenres = (Spinner)findViewById(R.id.spinnerGenres); 

      FirebaseDatabase database = FirebaseDatabase.getInstance(); 
      DatabaseReference myRef = database.getReference("root"); 

      myRef.setValue("Hello, World!"); 

      buttonAdd.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View view) { 
        addArtist(); 
       } 
      }); 

     } 

     private void addArtist(){ 
      String name = editTextName.getText().toString().trim(); 
      String genre = spinnerGenres.getSelectedItem().toString(); 

      if(!TextUtils.isEmpty(name)){ 

       String id = databaseArtist.push().getKey(); 

       Artist artist = new Artist(id, name, genre); 

       databaseArtist.child(id).setValue(artist); 

       Toast.makeText(this, "Artist added", Toast.LENGTH_LONG).show(); 

      }else{ 
       Toast.makeText(this, "You should enter a name", Toast.LENGTH_LONG).show(); 
      } 
     } 
    } 

私はまた、上記の詳細で必要なクラスのアーティストを作成しました。 すべてが正しいように見えますが、アプリを起動して詳細を入力してボタンをクリックすると、リアルタイムデータベースに何も起こりません。

+0

アプリフォルダに 'google-services.json'ファイルを追加しましたか? –

+0

問題が見つかりましたので、このスレッドを削除します。単に、エミュレータからネットワークをオン/オフすることで問題が解決されました。 – Samir

答えて

2

UnknownHostExceptionを入手する最も一般的な理由は、AndroidManifest.xmlファイルのインターネットアクセス許可がありません。これを解決するには、パッケージ名の直後に次のコード行を追加してください:

<uses-permission android:name="android.permission.INTERNET"></uses-permission> 
関連する問題