私はアンドロイドでapi呼び出しを行う方法を学習していました。これは私の断片です。このjsonファイルをmyjson.comにアップロードしました。私の断片クラスから、私はAPIをヒットしようとしました。私は応答がjsonオブジェクト内のデータをログに返さなければならないと思います。API呼び出しのandroid.os.NetworkOnMainThreadException
public class TableFragment extends android.support.v4.app.Fragment {
public TableFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = inflater.inflate(R.layout.fragment_table, container, false);
Button api_btn = (Button)rootView.findViewById(R.id.enter_button);
api_btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
try {
URL url = new URL("https://api.myjson.com/bins/n80yl");
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
try {
BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(urlConnection.getInputStream()));
StringBuilder stringBuilder = new StringBuilder();
String line;
while ((line = bufferedReader.readLine()) != null) {
stringBuilder.append(line).append("\n");
}
bufferedReader.close();
Log.d("tagg", "onClick: "+stringBuilder);
}catch (Exception e)
{
Log.d("tagg", "onClick:exception1 "+e);
}
finally{
urlConnection.disconnect();
}
}
catch(Exception e) {
Log.d("tagg", "doInBackground:exception2 "+e);
}
}
});
return rootView;
}
}
私はマニフェストでインターネット許可を与えました。
これは正しい方法なので、私はアンドロイドでapiの仕組みを学ぶことができます。 ありがとうございます
にインターネットのアクセス許可を追加することを忘れないでください。この質問はAndroidの基本です。ここをクリックしてくださいhttps://stackoverflow.com/questions/6343166/how-do-i-fix-android-os-networkonmainthreadexception –