Handler解析字串和圖片
1.許可權
//連網
2.MainActivity
public class MainActivity extends AppCompatActivity {
String urlString = “http://api.expoon.com/AppNews/getNewsList/type/1/p/1”;
String urlBitmap = “http://img.my.csdn.net/uploads/201407/26/1406383265_8550.jpg”;
private ImageView img_view;
private TextView text_view;
Handler handler=new Handler(){
@Override
public void handleMessage(Message msg) {
super.handleMessage(msg);
if (msg.what1){
String strjson= (String) msg.obj;
text_view.setText(strjson);
}
if (msg.what
Bitmap bit= (Bitmap) msg.obj;
img_view.setImageBitmap(bit);
}
}
};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
img_view = findViewById(R.id.img_view);
text_view = findViewById(R.id.text_view);
setOnClick();
}
private void setOnClick() { text_view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(){ @Override public void run() { super.run(); String strjson=NetUtil.getjson(urlString); Message msg=handler.obtainMessage(); msg.obj=strjson; msg.what=1; handler.sendMessage(msg); } }.start(); } }); img_view.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { new Thread(){ @Override public void run() { super.run(); Bitmap bitmap= NetUtil.getBitmap(urlBitmap); Message msg=handler.obtainMessage(); msg.obj=bitmap; msg.what=2; handler.sendMessage(msg); } }.start(); } }); }
}
3.NetUtil 解析字串 和 圖片
class NetUtil {
public static String getjson(String urlString) {
try {
URL url = new URL(urlString);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();
if (responseCode==200){
InputStream inputStream = urlConnection.getInputStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String str="";
while ((str=reader.readLine())!=null){
builder.append(str);
}
return builder.toString();
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return “”;
}
public static Bitmap getBitmap(String urlBitmap) {
try {
URL url = new URL(urlBitmap);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
int responseCode = urlConnection.getResponseCode();
if (responseCode==200){
InputStream inputStream = urlConnection.getInputStream();
Bitmap bitmap = BitmapFactory.decodeStream(inputStream);
return bitmap;
}
} catch (MalformedURLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
return null;
}
}