編輯:關於Android編程
Android開發之通過接口回調機制加載數據的簡單實現,在實際開發中通過callback方法得到網絡加載的數據的使用頻率遠比通過直接開啟線程或異步任務加載數據的頻率高的多,這篇文章的代碼將簡單實現該機智的調用,體會下callback的精髓。
MainActivity的代碼
package com.example.f07_callback01;
import com.example.f07_callback01.A.Callback;
import android.os.Bundle;
import android.app.Activity;
import android.util.Log;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
public class MainActivity extends Activity {
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button=(Button)this.findViewById(R.id.button1);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
A getString=new A();
//通過調用接口得到數據
getString.loadString("", new Callback() {
@Override
public void get(String result) {
// TODO Auto-generated method stub
Log.i("TAG", "-------->"+result);
}
});
}
});
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
package com.example.f07_callback01;
public class A {
//模擬從服務器端得到字符串
public void loadString(String path,final Callback callback){
new Thread(new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
String msg="通過接口調用數據";
callback.get(msg);
}
}).start();
}
public interface Callback{
public void get(String result);
}
}
小米edge什麼時候上市 小米edge發布時間
小米edge什麼時候上市?相信很多米粉對於小米edge手機很是期待和關注,紛紛上網咨詢,下文介紹小米edge上市時間,一起和小編來了解下吧! 小米edge
Native Socket.IO and Android
原文鏈接地址:http://socket.io/blog/native-socket-io-and-android/在本教程中我們將學習如何創建一個聊天客戶端用socke
android產品研發(六)--)Apk混淆
前面一篇文章中我們講解了android裡面的多渠道打包,對於大型的app來說,幾百個上千個渠道包都是很正常的事,所以效率定制化是一件很重要的事。主要講解了三種多渠道打包方
Android 6.0+ 運行時權限探索
引言:去年Android 6.0發布後,其新引入的(Requesting Permissions at Run Time)運行時權限就備受開發者關注,隨著今年國內手機廠商