2013年12月6日

[Android]使用BlueStacks、Eclipse進行開發除錯




前言


使用Android模擬器進行開發與除錯時,Windows作業系統上的執行時間會比較長。
對於某些專案在分秒必爭的情況下,模擬器反而造成許多開發上的不便。

解決方案

使用BlueStacks與Eclipse進行開發與除錯。


關於


  1. BlueStacks:一套可以模擬一般Android手機或平板APP正常執行的軟體,相信許多人都使用這個軟體來玩一些APP遊戲,如神魔之塔...等。
  2. Eclipse:一套用java開發的好用程式編輯軟體。(作者就是使用此軟體來開發Android的)

 如何使用

  1. 先進行BlueStacks 及 Eclipse安裝,並且都順利安中與執行。
  2. 打開Eclipse的Device(查詢目前有哪些裝置在線上),如圖1。開啟位置:Windows>Show View>Others>Device。
    圖1.Eclpse的Device列表
如果沒有找到裝置,請重新啟動adb,如圖2。
圖2.Restart adb

2013年8月3日

[SVN]建立版本管理工具

前言

最近在執行專案時,一直在思考管理版本問題。起初因為一人建立專案,所以有自己的一套管理方式。但是如果多人專案就需要專業的工具啦。

關於SVN

Apache Subversion(簡稱SVN,svn),是一個開放原始碼的版本控制系統,相對於的RCS、CVS,採用了分支管理系統,它的設計目標就是取代CVS。網際網路上越來越多的控制服務從CVS轉移到Subversion。

參考:Subversion(SVN)概念與工具介紹

安裝SVN時,需要一個Server(伺服端)跟一個Client(客戶端)。
筆者一直失敗就是因為只安裝Client,所以一直上傳失敗。...夠蠢的

安裝SVN Server(作者環境為 Windows 7)

Server此部份就是將大家的心血(檔案)存放的地方,因為作者也是參考其它人的安裝方式安裝成功,因此附上幾個連結讓大家參考。

安裝部份:Demo 小舖
軟體下載:VISUALSVN SERVER
Port 參考(如果發生Port衝突):通訊埠 (port) 介紹及常用 port 對照

注意:作者在安裝SVN前已經有安裝了XAMPP(整合Apache, MySQL, PHP....)
因此在安裝到Server Port時,Port 443發生衝突,因此更換了其它的Port。


安裝SVN Client

本作者使用TortoiseSVN作為上傳工具,因為他比較.....視覺化吧。
看個人喜好囉。

安裝與操作:版本控制工具TortoiseSVN初體驗

2013年7月16日

關於Appserv 漏洞一事(一)

事由:
今天研究室發生了駭客攻擊,有一台電腦變成了殭屍。
(還好不會咬人)
原因:
電腦的AppServ 2.5.10被竄改,導致一直對外發送封包(典型的DDos攻擊)

經過:
早上電腦使用者反應網路連不上,發現是連線速度異常。後來網路組人員通知,有異常流量從此電腦IP發出。因此先IP封鎖,拔除網路線。

解決方法:
早上電腦使用者反應網路連不上,發現是連線速度異常。後來網路組人員通知,有異常流量從此電腦IP發出。因此先IP封鎖,拔除網路線。

參考:
如何預防Appserv遭受入侵
資訊組蔡玉貴(friber)部落格日誌_appserv程式漏洞_首頁被竄改

最後學弟選擇安裝了其它的軟體:XAMPP,線上文件說明都還滿完整的。
但是安裝完後沒有繁體中文,最後發現語言檔只有簡體中文。
本想一鼓作氣將他翻譯完,拿來造福人群。
但是網路的東西太過強大,所以上網找到人家翻好的繁體中文檔
只能說世界上好心人還是有的。

(待續)

2013年6月29日

質數計算機



不知道質數為何物嗎?質數有多大呢?我們來看看你電腦的效能,可以計算多少質數囉。

(你會發現,每使用一次,計算速度越會來越快喔。)







關於「質數」


質數,指在一個大於1的自然數中,除了1和此整數自身外,無法被其他自然數整除的數。

by 維基百科





2013年6月9日

[Firefox App 練習]Hello World 安裝不成功

前言:
Firefox 也推出OS版,其開發是使用WebApp的方式,Base  is html5.

所以一個APP的資料內應該包含
index.html-> html5
icon.png ->128 px x 128 px
manifest.webapp -> 主要設定檔

問題:
我都寫好之後,設定檔取名為 「index.webapp」,上傳也OK,但是Run不出來。

目前解決:
index.webapp 改名 manifest.webapp
我想是因為.webapp的格式是固定的。

APP Developer 參考


2013年4月15日

[POS]微型印表機安裝與除錯

前言:
市面上的POS印表機,有分為ESC /TSC


傳輸協定:
ethernet:
IP:192.168.XXX.XXX(自行設定)
Port:9100



前置作業:
  • 印表機是否接上電源,並處於待機狀態。
  • 確認印表機內有列印紙,並有擺放正確

  • 先到網路上尋找驅動程式,並確認安裝成功。
  • 控制台->
    • 裝置和印表機->
    • 新增印表機->
    • (將USB或Serial接到本機)新增本機印表機->
    • 使用現有連接阜->
    • (USB為例)USB00X->
    • 安裝驅動->
    • 使用目前安裝的驅動程式->
    • 設定印表機名稱->
    • 測試列印
  • 如果以上不行,選設備按右鍵->
    • 印表機內容->
    • 連接阜->
    • (修改為其它的USB並測試列印)


Android 中文列印:


public class MainActivity extends Activity {

 TscWifiActivity TscEthernetDll = new TscWifiActivity();
 
 private Button test;
 private String text;

 @Override
 protected void onCreate(Bundle savedInstanceState) {
  super.onCreate(savedInstanceState);
  setContentView(R.layout.main);
  
  
  
   test = (Button) findViewById(R.id.button1);

         test.setOnClickListener(new OnClickListener() {
             public void onClick(View v) 
             {
              text=new String("TEXT 0,0,\"TST24.BF2\",0,1,1,\"It's Chinese 這是中文\"\n");
int Width=100,Height=100;
              
              TscEthernetDll.openport("192.168.XXX.XXX",9100);
              
              TscEthernetDll.setup(Width, Height, 4, 4, 0, 0, 0);
              TscEthernetDll.clearbuffer();
              TscEthernetDll.sendcommand("SET TEAR ON\n");
              
              try {
    TscEthernetDll.sendcommand(text.getBytes("big5"));
   } catch (UnsupportedEncodingException e) {
    e.printStackTrace();
   }
              
              TscEthernetDll.printlabel(1, 1);
              
              TscEthernetDll.closeport();
             }
             
         });
 }


參考網站:
TSC 下載專區
TSPL Note
TSPL 中文說明

2013年1月3日

[Android]平版安裝不了驅動


問題:


開發Android時,使用模擬器是一件使人磨耐性的事。而且模擬器的功能始終有限,平版市場充斥。許多USB-Driver一直安裝不上去。

解決:

(適用 Win7 & WinXP)

修改Google USB Driver 的 [android_winusb.inf]
讓您的平版也可以安裝上去。

Step 1:
打開android_winusb.inf 檔案。

筆者的路徑為:C:\Android\android-sdk\extras\google\usb_driver\

Step 2:
打開裝置管理員,未知裝置->(右鍵)內容->詳細資料->選擇硬體辨識碼

Step 3:
確定電腦為x64 or x86 ->尋找


[Google.NTx86]

[Google.NTamd64]

按照上面的方式,將資訊填入


;Android
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0003&REV_0230&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0003&MI_01

Step 4:
重新更新驅動,會發現安裝成功。

Step 5:
清除adb並重新啟動
清除adb:開始->執行->CMD->輸入 cd C:\Android\android-sdk\platform-tools\adb kill-server
重新啟動:開始->執行->CMD->輸入 cd C:\Android\android-sdk\platform-tools\adb start

Done.

2013年1月1日

[Android]製作縮圖

問題:
在使用Android的ImageView元件放入圖檔時,發現圖檔尺寸比ImageView元件的尺寸來的大很多。

解決:
使用Android製作縮圖,



/**
 原始圖檔 bitmap
*/

//取得圖檔寬度
int bmpWidth  = bitmap.getWidth(); 

//取得圖檔高度
int bmpHeight  = bitmap.getHeight(); 

//設定縮圖寬度
float scaleWidth  = (float) sWidth / bmpWidth;     
//按固定大小缩放sWidth,要多大有多大

//設定縮圖高度
float scaleHeight = (float) sHeight / bmpHeight;  

//轉換矩陣
Matrix matrix = new Matrix(); 
matrix.postScale(scaleWidth, scaleHeight); 

//產生縮圖
Bitmap resizeBitmap = 
Bitmap.createBitmap(bitmap, 0, 0, bmpWidth, bmpHeight,matrix, false); 

//記得做資源回收,不然會發生溢位
bitmap.recycle(); 


參考網站:Android中图片缩放方法