編輯:關於Android編程
有能力的同學可以直接去看 Retrofit官方Demo:
https://github.com/square/retrofit
我這邊簡單使用一下,以百度首頁解析作為開篇:
導入jar包:
有網絡和無網絡的效果圖:
Service.java:
package com.iwanghang.retrofitdemo; import retrofit2.Call; import retrofit2.http.GET; public interface Service { @GET("/") // 因為我們是解析首頁,也就是根目錄,所以這邊寫"/" CallMainActivity.java:getBaidu(); }
package com.iwanghang.retrofitdemo; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.widget.TextView; import android.widget.Toast; import java.io.IOException; import java.lang.annotation.Annotation; import java.lang.reflect.Type; import okhttp3.ResponseBody; import retrofit2.Call; import retrofit2.Callback; import retrofit2.Converter; import retrofit2.Response; import retrofit2.Retrofit; /** * Retrofit官方Demo * https://github.com/square/retrofit */ public class MainActivity extends AppCompatActivity implements Callback另外不用忘記在AndroidManifest.xml加網絡權限:{ TextView main_text; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /** * 實例化Retrofit * Converter 轉換器 可以轉換任意數據類型 */ Retrofit retrofit = new Retrofit.Builder() .baseUrl("http://www.baidu.com") .addConverterFactory( new Converter.Factory() { @Override public Converter responseBodyConverter(Type type, Annotation[] annotations, Retrofit retrofit) { //return super.responseBodyConverter(type, annotations, retrofit); return new Converter () { @Override public String convert(ResponseBody value) throws IOException { //return null; return value.string(); } }; } } ).build(); Service service = retrofit.create(Service.class); // 實例化服務 Call call = service.getBaidu(); // 創建請求 call.enqueue(this); // 異步請求 main_text = (TextView) findViewById(R.id.main_text); } // 異步請求 成功 @Override public void onResponse(Call call, Response response) { Toast.makeText(this, "請求成功", Toast.LENGTH_SHORT).show(); main_text.setText(response.body()); } // 異步請求 失敗 @Override public void onFailure(Call call, Throwable t) { Toast.makeText(this, "請求失敗"+call.request().url(), Toast.LENGTH_SHORT).show(); t.printStackTrace(); } }
給默認activity_main.xml的textView加id。
很多時候我們開發的軟件需要向用戶提供軟件參數設置功能,例如我們常用的QQ,用戶可以設置是否允許陌生人添加自己為好友。對於軟件配置參數的保存,如果是window軟件通常我們
android 獲取短信驗證碼倒計時public class MainActivity extends Activity {private Button submit;p
第1節 Broadcast Receiver概述很多時候,我們希望一個應用程序在它沒有運行起來的時候,也能感知系統狀態的某些變化,如果條件合適,就讓這個應用就運行起來。比
今天沒事跟群裡面侃大山,有個哥們說道Android Wheel這個控件,以為是Andriod內置的控件,google一把,發現是個github上的一個控件。下載地址:ht