android三方类库
来源:互联网 发布:亚马逊读书软件readme 编辑:程序博客网 时间:2024/05/16 08:11
网络请求:android-async-http
ViewPage添加tab标间:ViewPagerIndicator
shareSdk一键分享:http://www.mob.com/#/index
科大讯飞:语音识别
Zxing:二维码生成和识别 handleDecode
http://code.google.com/p/zxing/
生成二维码:二维码其实是
package com.androidzhang.zxingframe;import java.util.Hashtable; import android.graphics.Bitmap;import android.util.Log;import com.google.zxing.BarcodeFormat;import com.google.zxing.EncodeHintType;import com.google.zxing.MultiFormatWriter;import com.google.zxing.WriterException;import com.google.zxing.common.BitMatrix;import com.google.zxing.qrcode.QRCodeWriter;public class BitmapUtil {/** * 生成一个二维码图像 * * @param url * 传入的字符串,通常是一个URL * @param QR_WIDTH * 宽度(像素值px) * @param QR_HEIGHT * 高度(像素值px) * @return */public static final Bitmap create2DCoderBitmap(String url, int QR_WIDTH, int QR_HEIGHT) {try {// 判断URL合法性if (url == null || "".equals(url) || url.length() < 1) {return null;}Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");// 图像数据转换,使用了矩阵转换BitMatrix bitMatrix = new QRCodeWriter().encode(url,BarcodeFormat.QR_CODE, QR_WIDTH, QR_HEIGHT, hints);int[] pixels = new int[QR_WIDTH * QR_HEIGHT];// 下面这里按照二维码的算法,逐个生成二维码的图片,// 两个for循环是图片横列扫描的结果for (int y = 0; y < QR_HEIGHT; y++) {for (int x = 0; x < QR_WIDTH; x++) {if (bitMatrix.get(x, y)) {pixels[y * QR_WIDTH + x] = 0xff000000;} else {pixels[y * QR_WIDTH + x] = 0xffffffff;}}}// 生成二维码图片的格式,使用ARGB_8888Bitmap bitmap = Bitmap.createBitmap(QR_WIDTH, QR_HEIGHT,Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, QR_WIDTH, 0, 0, QR_WIDTH, QR_HEIGHT);// 显示到一个ImageView上面// sweepIV.setImageBitmap(bitmap);return bitmap;} catch (WriterException e) {Log.i("log", "生成二维码错误" + e.getMessage());return null;}}private static final int BLACK = 0xff000000;/** * 生成一个二维码图像 * * @param url * 传入的字符串,通常是一个URL * @param widthAndHeight * 图像的宽高 * @return */public static Bitmap createQRCode(String str, int widthAndHeight) throws WriterException { //判断URL合法性 if (str == null || "".equals(str) || str.length() < 1 || widthAndHeight<1) { return null; }Hashtable<EncodeHintType, String> hints = new Hashtable<EncodeHintType, String>();hints.put(EncodeHintType.CHARACTER_SET, "utf-8");BitMatrix matrix = new MultiFormatWriter().encode(str,BarcodeFormat.QR_CODE, widthAndHeight, widthAndHeight);int width = matrix.getWidth();int height = matrix.getHeight();int[] pixels = new int[width * height];for (int y = 0; y < height; y++) {for (int x = 0; x < width; x++) {if (matrix.get(x, y)) {pixels[y * width + x] = BLACK;}}}Bitmap bitmap = Bitmap.createBitmap(width, height,Bitmap.Config.ARGB_8888);bitmap.setPixels(pixels, 0, width, 0, 0, width, height);return bitmap;}}
二维码识别:
<SurfaceView android:id="@+id/preview_view" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" /> <com.zxing.view.ViewfinderView android:id="@+id/viewfinder_view" android:layout_width="wrap_content" android:layout_height="wrap_content" />
/** * Handler scan result * * @param result * @param barcode * 获取结果 */public void handleDecode(Result result, Bitmap barcode) {inactivityTimer.onActivity();playBeepSoundAndVibrate();String resultString = result.getText();// FIXMEif (resultString.equals("")) {Toast.makeText(CaptureActivity.this, "扫描失败!", Toast.LENGTH_SHORT).show();} else {// System.out.println("Result:"+resultString);Intent resultIntent = new Intent();Bundle bundle = new Bundle();bundle.putString("result", resultString);resultIntent.putExtras(bundle);this.setResult(RESULT_OK, resultIntent);}CaptureActivity.this.finish();}
草料二维码:在线生成二维码
SlidingMenu:
1. 导入SlidingMenu_lib库
2. 继承修改Activity为 SlidingXXXActivity
3. 设置主界面
//1.设置主界面
setContentView(R.layout.activity_main);
4. 设置左侧菜单界面
//2.设置左侧界面
setBehindContentView(R.layout.activity_left);
5. 设置右侧菜单
SlidingMenu menu = getSlidingMenu();
//设置右边侧滑菜单的界面
menu.setSecondaryMenu(R.layout.activity_right);
6. 设置菜单模式
三种:left 只有左侧 right 只有右侧 left_right 左右侧都有:menu.setMode(SlidingMenu.LEFT);// 只设置左侧可以滑动
7. 设置菜单触摸方式
三种: TOUCHMODE_FULLSCREEN 任何位置 ,TOUCHMODE_MARGIN 边界才可以拖动,TOUCHMODE_NONE不可以拖动
menu.setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
8.设置主界面左侧滑动后剩余的空间位置
menu.setBehindOffset(200);// 设置主界面剩余的位置
- android三方类库
- android项目引入三方类库配置文件
- Android
- android
- Android
- android
- android
- Android
- Android
- android
- android
- android
- Android
- Android
- android!!!
- android
- android
- android
- android 中如何限制 EditText 最大输入字符数
- [php] ajax交互实现选择用户名显示用户数据
- 一键启动u盘的快捷键查询表
- Android项目导入support v7包时遇到的各种问题
- django下使用celery进行异步任务
- android三方类库
- 前段SEO优化总结、网站性能提升
- 开始时间与结束时间格式判断
- iphone手机怎么上facebook、注册instagram的方法
- iOS提交应用至App Store流程
- 第十章 内部类(上)
- py2exe打包python程序
- 通过金矿模型介绍动态规划
- ios开发中关于绘图的问题