android條形碼
⑴ 如何在Android攝像頭讀取條形碼
你說的安卓攝像頭讀取條形碼,那你的手機應該是智能手機吧,現在的手機微信、QQ等一些掃描軟體都是可以讀取條形碼的,微信裡面有個掃一掃,一般來說是用來掃描二維碼,不過條形碼也能讀出來。
⑵ android手機可掃描用的條形碼,如何製作 有網頁版,或pc端的軟體嗎
在手機自帶的安卓市場里搜「條形碼」
有這個軟體
⑶ android怎樣生成條碼和二維碼
一、問題描述 在開發中需要將信息轉換為二維碼存儲並要求帶有公司的logo,我們知道Google的Zxing開源項目就很好的幫助我們實現條形碼、二維碼的生成和解析,但帶有logo的官網並沒有提供demo,下面就通過實例看看如何實現以及Zxing的使用。 二、案例介紹 1、案例運行效果 2、案例准備工作 在項目中加入jar,只需加入core/zxing/zxing/ 三、Zxing主要組件 1、BarcodeFormat 定義了不同的二進制編碼方式,取值如下 EAN_13條形碼,共計13位代碼,比較常見,如商品上的包裝上的都是這種條形碼 CODE_QR二維碼(矩陣碼),比條形碼存在更多信息,當下比較流行 CODE_128條形碼 可表示可表示從 ASCII 0 到ASCII 127 共128個字元,用於企業管理,生產流程式控制制 CODE_39條形碼,編制簡單只接受如下43個字元 2、MultiFormatWriter 主要包含一個 encode()方法,可實現產生編碼(條形、二維碼) BitMatrix encode(String contents, BarcodeFormat format, int width, int height,Hashtable hints)方法 參數: contents:要編碼的內容 format:編碼格式(條形、二維) width,height:生成碼的大小 hints:包含EncodeHintType(編碼提示類型)信息的集合,主要設置字元編碼,比如支持漢字的utf-8,如下: Hashtable hst = new Hashtable(); hst.put(EncodeHintType.CHARACTER_SET, “UTF-8″); 返回值:BitMatrix 二維矩陣點 3、BitMatrix BitMatrix :表現為一個二維矩陣,x表示列的位置,y表示行的位置,循序從左上角開始,一列一列排列(先x後y) 主要方法: getWidth():返回矩陣的寬度 getHeight():返回矩陣的高度 boolean get(x,y) :非常重要的方法,實現根據給定的x,y判斷該位置是否有黑塊 在產生二維碼的應用中就是通過這個方法進行判斷,然後把有黑塊的點記錄下來,使用Bitmap的setPixels()方法生成圖形,詳解案例的createCode()方法中的代碼 四、完整代碼 public class MainActivity extends Activity { private EditText etCompany; private EditText etPhone; private EditText etEmail; private EditText etWeb; private Bitmap logo; private static final int IMAGE_HALFWIDTH = 40;//寬度值,影響中間圖片大小 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //獲得資源圖片,可改成獲取本地圖片或拍照獲取圖片 logo=BitmapFactory.decodeResource(super.getResources(),R.drawable.y014); etCompany =(EditText) findViewById(R.id.etCompany); etPhone=(EditText) findViewById(R.id.etPhone); etEmail =(EditText) findViewById(R.id.etEmail); etWeb =(EditText) findViewById(R.id.etWeb); findViewById(R.id.but).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { // TODO Auto-generated method stub String company=etCompany.getText().toString().trim() ; String phone =etPhone .getText().toString().trim() ; String email = etEmail.getText().toString().trim() ; String web = etWeb.getText().toString().trim() ; //二維碼中包含的文本信息 String contents= "BEGIN:VCARD/nVERSION:3.0/nORG:"+company+"/nTEL:"+phone+"/nURL:"+web+"/nEMAIL:"+email+"/nEND:VCARD"; try { //調用方法createCode生成二維碼 Bitmap bm=createCode(contents,logo,BarcodeFormat.QR_CODE); ImageView img=(ImageView)findViewById(R.id.imgCode) ; //將二維碼在界面中顯示 img.setImageBitmap(bm); } catch (WriterException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } /** * 生成二維碼 * @param string 二維碼中包含的文本信息 * @param mBitmap logo圖片 * @param format 編碼格式 * @return Bitmap 點陣圖 * @throws WriterException */ public Bitmap createCode(String string,Bitmap mBitmap, BarcodeFormat format) throws WriterException { Matrix m = new Matrix(); float sx = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getWidth(); float sy = (float) 2 * IMAGE_HALFWIDTH / mBitmap.getHeight(); m.setScale(sx, sy);//設置縮放信息 //將logo圖片按martix設置的信息縮放 mBitmap = Bitmap.createBitmap(mBitmap, 0, 0, mBitmap.getWidth(), mBitmap.getHeight(), m, false); MultiFormatWriter writer = new MultiFormatWriter(); Hashtable hst = new Hashtable(); hst.put(EncodeHintType.CHARACTER_SET, "UTF-8");//設置字元編碼 BitMatrix matrix = writer.encode(string, format, 400, 400, hst);//生成二維碼矩陣信息 int width = matrix.getWidth();//矩陣高度 int height = matrix.getHeight();//矩陣寬度 int halfW = width / 2; int halfH = height / 2; int[] pixels = new int[width * height];//定義數組長度為矩陣高度*矩陣寬度,用於記錄矩陣中像素信息 for (int y = 0; y < height; y++) {//從行開始迭代矩陣 for (int x = 0; x < width; x++) {//迭代列 if (x > halfW - IMAGE_HALFWIDTH && x < halfW + IMAGE_HALFWIDTH && y > halfH - IMAGE_HALFWIDTH && y < halfH + IMAGE_HALFWIDTH) {//該位置用於存放圖片信息 //記錄圖片每個像素信息 pixels[y * width + x] = mBitmap.getPixel(x - halfW + IMAGE_HALFWIDTH, y - halfH + IMAGE_HALFWIDTH); } else { if (matrix.get(x, y)) {//如果有黑塊點,記錄信息 pixels[y * width + x] = 0xff000000;//記錄黑塊信息 } } } } Bitmap bitmap = Bitmap.createBitmap(width, height, Bitmap.Config.ARGB_8888); // 通過像素數組生成bitmap bitmap.setPixels(pixels, 0, width, 0, 0, width, height); return bitmap; } }
⑷ 關於android識別條形碼
建議參考zbar軟體, 可以找到其源碼和 API
⑸ android掃描條形碼出現-變成,的錯誤原因
相機出現問題就是由於處理器或者攝像頭等硬體停止工作,使相機無法使用。
解決方案:
第一步:首先在手機上找到【設置】應用圖標;
第二步:然後進入到設置界面,在其下方找到【其他應用管理】按鈕;
第三步:接下來點擊一下其他應用管理按鈕,進入到手機應用界面,然後在全部找到【相 機】,然後點擊一下;
第四步:隨後便進入到相機應用信息界面,在其下方找到【清空數據】按鈕,點擊一下便 可。
最後我們再次進入到拍照界面便會發現沒有報錯,就這樣解決了紅米相機已停止運行問題,其實此方法也適合其他的手機同樣的問題,如果實在不能解決,就只能恢復手機出廠設置。
⑹ android系統有沒有條形碼掃描軟體
安卓系統中是有條形碼掃描軟體的。
以MIUI系統為例來說明一下操作步驟:
1、打開手機桌面上的「系統工具」文件夾。
2、找到「二維碼掃描」應用軟體。
3、打開該應用軟體掃描二維碼即可。
⑺ android裡面 條形碼掃描 應該是怎麼做的,有沒有源碼 什麼的,發一個給我啊
1、下載ZBar官方SDK程序(下載鏈接:http://zbar.sourceforge.net/index.html),並打開項目,如下圖:
⑻ android的條形碼識別器怎麼用
打開這個軟體,它會通過攝像頭掃描條形碼,然後會通過網路來判斷,也就是說你得和網路連接。
⑼ android 解析條形碼 ZXing庫詳細介紹
Zxing是谷歌的開源項目,你要研究它,先要找到他的入口,你去androidmanifest,xml中看看那個是程序的主啟動類,然後根據主入口,一步一步看它的執行過程,最好打打DEBUG斷點,那你可以更好的知道代碼執行到哪裡了!! 有攝像頭是肯定的,沒有如何掃描呢??目前好像不支持本地的條形碼解析吧,掃描功能不是攝像頭帶的,是用代碼去操控攝像頭的!!建議你去google找到這個項目主頁,下載那個ZxingTEST,這個比完整版的代碼要簡單,你可以看看
⑽ android識別條形碼
識別條形碼,你就用你的手機下載一個二維碼識別就可以了,很簡單的,打開那個軟體,對著商標的條形碼就可以掃描了,手盡量不要晃動,也可以收到輸入條形碼