PIXNET Logo登入

<span style="font-size: 16pt; color: blue">拾人牙慧</span>

跳到主文

If I can't explain it simply, I don't understand it well enough.

部落格全站分類:職場甘苦

  • 相簿
  • 部落格
  • 留言
  • 名片
  • 1月 11 週一 201613:12
  • 三角函數 (Trigonometry)

trigonometry_001


table td, table th {padding: 6px; border:1px solid #000000;}


(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(2) 人氣(504,379)

  • 個人分類:數學
▲top
  • 12月 28 週一 201514:48
  • Sine Rule




table td, table th {padding: 6px; border:1px solid #000000;}


(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(171)

  • 個人分類:生活
▲top
  • 12月 15 週二 201520:09
  • Android App - Puzzle 的程式問題

Puzzle_Lena_orig



完成一個 Android App - Puzzle,類似拼圖,但是不太像。



一開始先載入 Lena 的圖片~




再對圖片作切割~




一格一格的格子可以弄亂~ 可以手動點選,也可以點選按鈕,以亂數自動弄亂~




再弄亂~




完成這個遊戲的目標,就是移動格子,把圖片恢復成未弄亂之前的狀態。





以下介紹在寫這個 App 會需要的技巧及面臨到的問題。




如何載入 Bitmap 圖片?

利用 BitmapFactory.decodeResource() 來 decode .bmp 圖片,接著再呼 Canvas.drawBitmap(),將此 bmp 畫到 Canvas 上,最後呼叫 ImageView.setImageDrawable()。



Bitmap bitmap = BitmapFactory.decodeResource(getResources(), R.drawable.lena);

Bitmap puzzleBitmap = Bitmap.createBitmap(bitmap.getWidth(), bitmap.getHeight(), Bitmap.Config.RGB_565);

Canvas canvas = new Canvas(puzzleBitmap);

canvas.drawBitmap(bitmap, 0, 0, null);

imageView.setImageDrawable(new BitmapDrawable(getResources(), bitmap));




如何取得亂數?

利用 Random class。




Random rand = new Random();

int x = rand.nextInt(n); // x 為 0 ~ n-1 的亂數





如何讓 app 固定為直立模式,不會跟著手機旋轉?

在 AndroidManifest.xml 中,為該 Activity 加入 "portrait" 的屬性。




&ltactivity

...

android:screenOrientation="portrait"&gt




getLocationOnScreen() 或 getLocationInWindow() 無法成功?

程度不夠好,所以花了很久的時間作白工,才搞清楚,UI 相關的位置,不能在 onCreate() 或 onResume() 中呼叫,因為此時 layout 尚未真得被放置。



解決方式是不要在 onCreate() 或 onResume() 中呼叫,在其它 function 中呼叫,就會回傳正確的值。



自行定義了一個 class,以 array 的方式宣告變數後,發生 error: on a null object reference ?

這是因為 Object 在物件宣告後,尚未實體化,只有得到三個位址空間而已,所以不能直接使用。



解決方式是加上實體化的程式碼,完整如下:

MyClass[] myClass = new MyClass[3]
for(int i=0;i<3;i++) {
myClass [i] = new MyClass();
}






這邊插播,如果是 C++ 的話,程式碼是長這樣子的:

AClass *classArrayPointer = new AClass[7]; // 宣告,且實體化
…
delete [] classArrayPointer; // 需手動釋放記憶體



讀取 /sdcard 檔案,過到 System.err: java.io.FileNotFoundException: /storage/emulated/0/xxx.txt: open failed: EACCES (Permission denied)

Permission denied,權限不足。



在 AndroidManifest.xml 增加讀取外部儲存裝置(sdcard)的權限:


&ltuses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/&gt



(繼續閱讀...)
文章標籤

silverwind1982 發表在 痞客邦 留言(0) 人氣(275)

  • 個人分類:生活
▲top
«1...1213

熱門文章

  • (504,379)三角函數 (Trigonometry)
  • (36,152)小波轉換 (Wavelet Transform)
  • (30,250)Pinhole Camera: 針孔相機座標成像原理
  • (17,476)電腦視覺矩陣 (Matrices in Computer Vision)
  • (78,009)Pinhole Camera: 相機校正 (Camera Calibration)
  • (13,436)Pinhole Camera: Epipolar Geometry
  • (317,589)特徵向量(Eigenvector) 及 特徵值(Eigenvalue) 的定義及求法
  • (18,108)正交 (Orthogonal)
  • (176,040)旋轉矩陣 (Rotation Matrix)
  • (61,866)卡爾曼濾波 (Kalman Filter)

文章精選

文章分類

toggle 硬體 (1)
  • 週邊 (4)
toggle 軟/韌體 (10)
  • 架構 (3)
  • 週邊 (7)
  • 程式設計 (7)
  • 數學 (12)
  • Linux (25)
  • Embedded Linux (6)
  • BIOS (2)
  • 網路 (13)
  • VO (32)
  • Windows (2)
  • 未分類文章 (1)

最新文章

  • Processor Pin / GPIO Pin 設定值
  • MAC 與 PHY 之間的 SGMII
  • D-Bus 簡介
  • SPI 簡介
  • UART 簡介
  • I2C 簡介
  • Device Tree (DTS) 簡介
  • 透過 Tera Term MODEM 傳輸資料
  • USB Pinout 線路
  • 在 ARM Linux 上生成 Root File System (RFS) Image