当前位置:  编程技术>移动开发
本页文章导读:
    ▪使用PackageManager跟ResolverInfo        使用PackageManager和ResolverInfo<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test01" android:versionCode="1" android:versionName="1.0" > .........
    ▪ 初识Volley(4)        初识Volley(四) main界面视图: 1.JsonRequest   没有有效的json地址,找了google的,400,请替换有效json地址就OK 2.使用的NetWorkImageView 3.使用的ImageRequest 主要说明下ImageRequest,ImageRequest中已经.........
    ▪ Qt调用摄像头(截取并封存图片)       Qt调用摄像头(截取并保存图片)    Qt如何调用系统摄像设备进行显示、截图、录制?     QCamera:系统摄像设备(摄像头)     QCameraViewfinder:摄像取景器部件     QCameraImageCapture:截图.........

[1]使用PackageManager跟ResolverInfo
    来源: 互联网  发布时间: 2014-02-18
使用PackageManager和ResolverInfo
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.test01"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.example.test01.MainActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name=".Activity01"
            android:label="@string/activity01"
            android:icon="@drawable/authentication_name_n">
            <intent-filter >
                <action android:name="cxd.test.demo"/>
            </intent-filter>
        </activity>
        <activity android:name=".Activity02"
            android:label="@string/activity02"
            android:icon="@drawable/box_tj_h">
            <intent-filter >
                <action android:name="cxd.test.demo"/>
            </intent-filter>
        </activity>
        <activity android:name=".Activity03"
            android:label="@string/activity03"
            android:icon="@drawable/box_tj">
            <intent-filter >
                <action android:name="cxd.test.demo"/>
            </intent-filter>
        </activity>
    </application>

</manifest>

这个是在manifest.xml配置文件中每个activity中配置了一个intent的行动,然后在MainActivity中

public class MainActivity extends ListActivity {

	private PackageManager mPackageManager;
	
	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		mPackageManager = getPackageManager();

		List<ResolveInfo> activities = mPackageManager.queryIntentActivities(
				makeDemoActivityIntent(), PackageManager.GET_META_DATA);
		getListView().setAdapter(
				new ActivityListAdapter(this, activities, mPackageManager));
	}

	protected Intent makeDemoActivityIntent() {
		Intent intent = new Intent(Constants.DEMO_ACTION);
		return intent;
	}
	
	@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;
	}
	
	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		ActivityInfo resolveInfo = ((ResolveInfo) l.getItemAtPosition(position)).activityInfo;
		Intent intent = new Intent();
		intent.setComponent(new ComponentName(resolveInfo.packageName,
				resolveInfo.name));
		startActivity(intent);
	}

}
这里的
Intent intent = new Intent(Constants.DEMO_ACTION);参数就是
<action android:name="cxd.test.demo"/>里的参数
public class ActivityListAdapter extends BaseAdapter {
	private List<ResolveInfo> mData;
	private LayoutInflater mInflater;
	private PackageManager mPackageManager;

	public ActivityListAdapter(Context context, List<ResolveInfo> data,
			PackageManager packagetManager) {
		mData = data;
		mInflater = LayoutInflater.from(context);
		mPackageManager = packagetManager;
	}

	@Override
	public int getCount() {
		return mData.size();
	}

	@Override
	public ResolveInfo getItem(int position) {
		return mData.get(position);
	}

	@Override
	public long getItemId(int position) {
		return 0;
	}

	@Override
	public View getView(int position, View convertView, ViewGroup parent) {
		ResolveInfo resolveInfo = getItem(position);
		if (null == convertView) {
			convertView = mInflater.inflate(
					android.R.layout.simple_list_item_1, parent, false);
		}
		((TextView) convertView)
				.setText(resolveInfo.loadLabel(mPackageManager));
		((TextView) convertView).setCompoundDrawables(
				resolveInfo.loadIcon(mPackageManager), null, null, null);
		return convertView;
	}
}
在ListActivity中点击每一个item然后就可以进入到activity中去,如果要做中文匹配的话在res文件里面新建values-zh-rCN.xml配置文件中新建string.xml文件,写中文版的


    
[2] 初识Volley(4)
    来源: 互联网  发布时间: 2014-02-18
初识Volley(四)

main界面视图:


1.JsonRequest   没有有效的json地址,找了google的,400,请替换有效json地址就OK

2.使用的NetWorkImageView

3.使用的ImageRequest


主要说明下ImageRequest,ImageRequest中已经自带了缓存,只需要在代码的地方设置setShouldCache(true);就OK了

通过Volley中的代码,   

public static RequestQueue newRequestQueue(Context context, HttpStack stack) {
        File cacheDir = new File(context.getCacheDir(), “volley”);


可以知道图片缓存在data/data/package/cache/volley下,缓存key直接使用的是URL,

通过代码

RequestQueue queue = new RequestQueue(new DiskBasedCache(cacheDir), network);

可以知道使用的是DiskBasedCache这个类

可以打开这个类,能发现使用一个Map存储的信息

/** Map of the Key, CacheHeader pairs */
    private final Map<String, CacheHeader> mEntries =
            new LinkedHashMap<String, CacheHeader>(16, .75f, true); 


CacheHeader为DiskBasedCache中的内部类,其实就是一个bean,其中保存了key,length,etag,serverDate等等一系列做缓存是否更新校验的字段


RequestQueue 缓存处理是通过CacheDispatcher做缓存事件分发,同过entry.refreshNeeded()来确定是取缓存还是请求网络。



项目源码地址:http://download.csdn.net/detail/cj6585256/6407947

有人说下载缺少文件,把Volley源文件地址给上:http://download.csdn.net/detail/cj6585256/6407971



无网络时取的缓存图





    
[3] Qt调用摄像头(截取并封存图片)
    来源: 互联网  发布时间: 2014-02-18
Qt调用摄像头(截取并保存图片)
    Qt如何调用系统摄像设备进行显示、截图、录制?
    QCamera:系统摄像设备(摄像头)
    QCameraViewfinder:摄像取景器部件
    QCameraImageCapture:截图部件

capture按钮:用于截图(截图后在右上角显示)
save按钮:用于保存截取后的图片(此处测试路径为:F:\a.jpg)
exit按钮:退出界面

效果如下:



代码如下:

#include "test_capture.h"
Dialog::Dialog(QWidget *parent) :
QDialog(parent)
{
this->resize(600, 400);

camera = new QCamera();
view_finder = new QCameraViewfinder();
camera_image_capture = new QCameraImageCapture(camera);
capture_button = new QPushButton();
save_button = new QPushButton();
exit_button = new QPushButton(); 
display_label = new QLabel();

QHBoxLayout *main_layout = new QHBoxLayout();
QVBoxLayout *v_layout = new QVBoxLayout();

display_label->setFixedSize(150, 150);
display_label->setScaledContents(true);

v_layout->addWidget(display_label);
v_layout->addStretch();
v_layout->addWidget(capture_button);
v_layout->addWidget(save_button);
v_layout->addWidget(exit_button);

main_layout->addWidget(view_finder);
main_layout->addLayout(v_layout);

connect(capture_button, &QPushButton::clicked, this, &Dialog::captureImage);
connect(save_button, &QPushButton::clicked, this, &Dialog::saveImage);
connect(exit_button, &QPushButton::clicked, this, &Dialog::close);
connect(camera_image_capture, &QCameraImageCapture::imageCaptured, this, &Dialog::displayImage);

camera_image_capture->setCaptureDestination(QCameraImageCapture::CaptureToFile);
camera->setCaptureMode(QCamera::CaptureStillImage);
camera->setViewfinder(view_finder);
camera->start(); //启动摄像头

this->setLayout(main_layout);
this->translateLanguage();
}

Dialog::~Dialog()
{

}

void Dialog::translateLanguage()
{
this->setWindowTitle("testCapture");
capture_button->setText(tr("capture"));
save_button->setText(tr("save"));
exit_button->setText(tr("exit"));
}

void Dialog::displayImage(int id, QImage image)
{
display_label->setPixmap(QPixmap::fromImage(image));  
}

void Dialog::captureImage()
{
//截图
camera_image_capture->capture();  
}

void Dialog::saveImage()
{
const QPixmap *pixmap = display_label->pixmap();
if(pixmap)
{
pixmap->save("F:\\a.jpg");
}
}

    
最新技术文章:
▪Android开发之登录验证实例教程
▪Android开发之注册登录方法示例
▪Android获取手机SIM卡运营商信息的方法
▪Android实现将已发送的短信写入短信数据库的...
▪Android发送短信功能代码
▪Android根据电话号码获得联系人头像实例代码
▪Android中GPS定位的用法实例
▪Android实现退出时关闭所有Activity的方法
▪Android实现文件的分割和组装
▪Android录音应用实例教程
▪Android双击返回键退出程序的实现方法
▪Android实现侦听电池状态显示、电量及充电动...
▪Android获取当前已连接的wifi信号强度的方法
▪Android实现动态显示或隐藏密码输入框的内容
▪根据USER-AGENT判断手机类型并跳转到相应的app...
▪Android Touch事件分发过程详解
▪Android中实现为TextView添加多个可点击的文本
▪Android程序设计之AIDL实例详解
▪Android显式启动与隐式启动Activity的区别介绍
▪Android按钮单击事件的四种常用写法总结
▪Android消息处理机制Looper和Handler详解
▪Android实现Back功能代码片段总结
▪Android实用的代码片段 常用代码总结
▪Android实现弹出键盘的方法
▪Android中通过view方式获取当前Activity的屏幕截...
▪Android提高之自定义Menu(TabMenu)实现方法
论坛 iis7站长之家
▪Android提高之MediaPlayer播放网络音频的实现方法...
▪Android提高之MediaPlayer播放网络视频的实现方法...
▪Android提高之手游转电视游戏的模拟操控
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3