安卓编程如何实现获取本机中所有图片

在这个示例中,我使用android-support-v4.jar中的加载器来实现获取
【菜科解读】
本示例演示如何在Android中实现获取本机中的所有图片,并进行查看效果。
在这个示例中,我使用android-support-v4.jar中的加载器来实现获取本机中所有图片,关于这个包在以前的文章中也提到,是一个非常有用的包。
先让我们看下本示例实现的效果图:
项目结构图如下所示:
MyDevicePhotoActivity.java文件中代码如下:
package com.device.photo;import android.app.Dialog;import android.content.ContentResolver;import android.database.Cursor;import android.graphics.Bitmap;import android.net.Uri;import android.os.Bundle;import android.provider.MediaStore;import android.view.View;import android.view.View.OnClickListener;import android.widget.AdapterView;import android.widget.Button;import android.widget.ImageView;import android.widget.ListView;import android.widget.TextView;import android.widget.AdapterView.OnItemClickListener;import android.support.v4.app.FragmentActivity;import android.support.v4.app.LoaderManager.LoaderCallbacks;import android.support.v4.content.CursorLoader;import android.support.v4.content.Loader;import android.support.v4.widget.SimpleCursorAdapter;import android.support.v4.widget.SimpleCursorAdapter.ViewBinder;/*** Android实现获取本机中所有图片* @Description: Android实现获取本机中所有图片* @FileName: MyDevicePhotoActivity.java * @Package com.device.photo * @Author Hanyonglu* @Date 2012-5-10 下午04:43:55 * @Version V1.0*/public class MyDevicePhotoActivity extends FragmentActivity implements LoaderCallbacks{ private Bitmap bitmap = null; private byte[] mContent = null; private ListView listView = null; private SimpleCursorAdapter simpleCursorAdapter = null; private static final String[] STORE_IMAGES = { MediaStore.Images.Media.DISPLAY_NAME, MediaStore.Images.Media.LATITUDE, MediaStore.Images.Media.LONGITUDE, MediaStore.Images.Media._ID }; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); listView = (ListView)findViewById(android.R.id.list); simpleCursorAdapter = new SimpleCursorAdapter( this, R.layout.simple_list_item, null, STORE_IMAGES, new int[] { R.id.item_title, R.id.item_value}, 0 ); simpleCursorAdapter.setViewBinder(new ImageLocationBinder()); listView.setAdapter(simpleCursorAdapter); // 注意此处是getSupportLoaderManager(),而不是getLoaderManager()方法。
getSupportLoaderManager().initLoader(0, null, this); // 单击显示图片 listView.setOnItemClickListener(new ShowItemImageOnClickListener()); } @Override public Loader onCreateLoader(int arg0, Bundle arg1) { // TODO Auto-generated method stub // 为了查看信息,需要用到CursorLoader。
CursorLoader cursorLoader = new CursorLoader( this, MediaStore.Images.Media.EXTERNAL_CONTENT_URI, STORE_IMAGES, null, null, null); return cursorLoader; } @Override public void onLoaderReset(Loader arg0) { // TODO Auto-generated method stub simpleCursorAdapter.swapCursor(null); } @Override public void onLoadFinished(Loader arg0, Cursor cursor) { // TODO Auto-generated method stub // 使用swapCursor()方法,以使旧的游标不被关闭. simpleCursorAdapter.swapCursor(cursor); } // 将图片的位置绑定到视图 private class ImageLocationBinder implements ViewBinder{ @Override public boolean setViewValue(View view, Cursor cursor, int arg2) { // TODO Auto-generated method stub if (arg2 == 1) { // 图片经度和纬度 double latitude = cursor.getDouble(arg2); double longitude = cursor.getDouble(arg2 + 1); if (latitude == 0.0 && longitude == 0.0) { ((TextView)view).setText("位置:未知"); } else { ((TextView)view).setText("位置:" + latitude + ", " + longitude); } // 需要注意:在使用ViewBinder绑定数据时,必须返回真;否则,SimpleCursorAdapter将会用自己的方式绑定数据。
return true; } else { return false; } } } // 单击项显示图片事件监听器 private class ShowItemImageOnClickListener implements OnItemClickListener{ @Override public void onItemClick(AdapterView ?> parent, View view, int position, long id) { // TODO Auto-generated method stub final Dialog dialog = new Dialog(MyDevicePhotoActivity.this); // 以对话框形式显示图片 dialog.setContentView(R.layout.image_show); dialog.setTitle("图片显示"); ImageView ivImageShow = (ImageView) dialog.findViewById(R.id.ivImageShow); Button btnClose = (Button) dialog.findViewById(R.id.btnClose); btnClose.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { dialog.dismiss(); } }); Uri uri = MediaStore.Images.Media.EXTERNAL_CONTENT_URI.buildUpon(). appendPath(Long.toString(id)).build(); FileUtil file = new FileUtil(); ContentResolver resolver = getContentResolver(); // 从Uri中读取图片资源 try { mContent = file.readInputStream(resolver.openInputStream(Uri.parse(uri.toString()))); bitmap = file.getBitmapFromBytes(mContent, null); ivImageShow.setImageBitmap(bitmap); } catch (Exception e) { // TODO: handle exception e.printStackTrace(); } dialog.show(); } }}
FileUtil.java文件主要是对图片资源的处理。
代码如下:
package com.device.photo;import java.io.ByteArrayOutputStream;import java.io.InputStream;import android.graphics.Bitmap;import android.graphics.BitmapFactory;/*** 文件操作类* @Description: 文件操作类* @FileName: FileUtil.java * @Package com.device.photo * @Author Hanyonglu* @Date 2012-5-10 下午01:37:49 * @Version V1.0*/public class FileUtil { public FileUtil() { // TODO Auto-generated constructor stub } /** * InputStream to byte * @param inStream * @return * @throws Exception */ public byte[] readInputStream(InputStream inStream) throws Exception { byte[] buffer = new byte[1024]; int len = -1; ByteArrayOutputStream outStream = new ByteArrayOutputStream(); while ((len = inStream.read(buffer)) != -1) { outStream.write(buffer, 0, len); } byte[] data = outStream.toByteArray(); outStream.close(); inStream.close(); return data; } /** * Byte to bitmap * @param bytes * @param opts * @return */ public Bitmap getBitmapFromBytes(byte[] bytes, BitmapFactory.Options opts) { if (bytes != null){ if (opts != null){ return BitmapFactory.decodeByteArray(bytes, 0, bytes.length,opts); } else{ return BitmapFactory.decodeByteArray(bytes, 0, bytes.length); } } return null; } }
安卓,编程,怎么,实现,获取,本,机中,所,有图片,灵活就业人员社保缴纳金额如何计算?4月17日
(注:本文数据仅供参考,具体以当地缴费标准为准)内蒙古呼和浩特自由职业社保缴纳金额怎么计算?根据新社通app-社保缴费查询工具提供的最新数据如下:呼和浩特灵活就业人员养老保险缴费:缴费基数上限:24315元,下限:4863元。
2023年自治区全口径城镇单位就业人员月平均工资为8105元。
缴费比例:20%呼和浩特灵活就业人员医疗保险缴费:2023年度自治区全口径城镇单位就业人员平均工资为97260元,即月平均工资8105元。
缴费比例:单建统筹5%;统账结合8%温馨提示:本数据仅供参考!具体需以当地有关法规为准!
五险一金是什么,如何理解五险一金的概念?(2025年4月17日)
部分地区已将其与医疗保险合并实施。
2、失业保险,为非自愿失业的劳动者提供基本生活保证,由用人单位和个人共同缴纳。
缴费满一年后,失业时可按规领取失业保险金。
3、养老保险,为劳动者退休后提供基本生活保证,由用人单位和个人共同缴纳。
累计缴费满15年并达到法定退休年龄后,可按月领取养老金。
4、工伤保险,为因工作受伤或患职业病的劳动者提供医疗和经济补偿,完全由用人单位缴纳,个人无需缴费。
5、住房公积金,用于支持劳动者购房、租房或建房,由用人单位和个人共同缴纳。
这是一项长期住房储备制,具有强制性和福利性。
6、医疗保险,用于补偿劳动者因疾病产生的医疗费用,由用人单位和个人共同缴纳。
累计缴费满25年后,退休后可终身享受医疗报销。
社保已申报未缴费算断缴吗仅有社保申报但并未进行实际缴费的情况下,这种行为并不被视为中断缴费。
在这个阶段,您的社保状况将呈现出欠费的情况,导致社保卡片无法正常运作。
只能等到贵公司全额缴纳所有应缴社保款项之后,社保卡片方可重新恢复正常功能,然而在此之前的欠费期限内,社保状况将会被标记为“补缴”。
若用人单位未能按要求的时间和金额足额缴纳社会保险费用,社会保险费征收机构有权对其发出限期缴纳或补充缴纳。
在欠费状态下,社保卡不能正常使用。
需要等企业足额缴纳社保款后,社保卡才能恢复正常使用。
欠费期间的社保状态会显示为补缴,即用人单位在后续时间内需要补缴这部分欠费。
《中华人民共和国社会保险法》第六十三条用人单位未按时足额缴纳社会保险费的,由社会保险费征收机构责令其限期缴纳或者补足。
用人单位逾期仍未缴纳或者补足社会保险费的,社会保险费征收机构可以向银行和其他金融机构查询其存款账户;并可以申请县级以上有关部门作出划拨社会保险费,书面形式其开户银行或者其他金融机构划拨社会保险费。
用人单位账户余额少于应当缴纳的社会保险费的,社会保险费征收机构可以要求该用人单位提供担保,签订延期缴费协议。
用人单位未足额缴纳社会保险费且未提供担保的,社会保险费征收机构可以申请人民法院扣押、查封、拍卖其价值相当于应当缴纳社会保险费的财产,以拍卖所得抵缴社会保险费。
对于公司来说,已申报未缴费并不构成社保的中断,但需要及时足额缴纳社保费用,以避免可能的法律后果和对员工权益的影响。
如果公司确实存在困难无法及时缴纳,可以向社会保险费征收机构申请延期缴纳或者分期缴纳,但需要提供相关证明材料并经过批准。
数据仅供参考,具体以当地有关法规为准,希望对您有帮助,欢迎关注新社通app解锁更多社保专业资讯。