完成了浏览服务器照片的功能,就是两个页面一个是照片的列表页和浏览照片页面,
下面是列表页监听用户点击具体文件名,跳转到浏览照片Acvivity的代码,使用Intent的扩展参数传递文件名
ListView lv = findViewById(R.id.server_listView);
lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
Map<String, String> map = list.get(arg2);
String fileName = map.get("fileName");
Log.i(TAG,"This was selected photo:"+fileName);
Intent intent = new Intent(GlobalData.context, ServerAlbumViewActivity.class);
intent.putExtra(IntentUtil.FILENAME_KEY,fileName);
startActivity(intent);
}
});
下面是浏览照片页面ServerAlbumViewActivity.java
在onCreate方法中获取通过Intent传过来的文件名,功能基本实现,接下来要优化代码了,现在这种方式有点难看,要把发送网络请求的代码都改成回调方式。
String fileName = getIntent().getStringExtra(IntentUtil.FILENAME_KEY);
//server_image_view
boolean isDownloadImg = false;
imgUrl = GlobalData.param.getServerUrl()+"/show/"+fileName;
new Thread(new Runnable() {
@Override
public void run() {
try {
imageview = findViewById(R.id.server_image_view);
bitmap = getBitmap(imgUrl);
if (bitmap!=null){
Log.i(TAG,"heiget:"+ bitmap.getHeight());
Log.i(TAG,"width:"+ bitmap.getWidth());
}
} catch (IOException e) {
e.printStackTrace();
}
}
}).start();