發表文章

多執行緒的使用

基本上多執行緒已經搞了一段時間,仍然是偶有失誤 這裡試著記錄下來這次任務的寫法 需求:開一個執行緒,持續去執行某行程式 private Handler mThreadHandler; private HandlerThread mThread; private void bleTimeCheck() { mThread = new HandlerThread("name"); mThread.start(); mThreadHandler = new Handler(mThread.getLooper()); mThreadHandler.postDelayed(r1, 3000); } private Runnable r1 = new Runnable() { public void run() { // TODO Auto-generated method stub Calendar c1 = Calendar.getInstance(); Log.e("0704.1 Time", "" + c1.getTimeInMillis()); mThreadHandler.postDelayed(r1, 3000); } }; 使用這個寫法,可以順利的讓執行緒每隔三小持續執行裡面run()裡面的東西 其實這次主要是 import的時候選錯class ,結果卡超久 所以上面這段程式複製使用會出現紅字的話,那非常大的機會是import選錯class,重新import即可 在撰寫過程中主要是參考這個網址 http://j796160836.pixnet.net/blog/post/29895257

Android 延遲執行

因為手上的App有個倒數關閉的功能,因此一開始在找延遲執行後關閉的寫法,但是很奇怪的一些延遲執行的做法在我的App中卻沒有效果,後來終於找到可以在App中運作的寫法 Handler handler = new Handler(); handler.postDelayed(new Runnable() { @Override public void run() { //過五秒後要做的事情 CastScreenService.stop(); android.os.Process.killProcess(android.os.Process.myPid()); }}, 5000); 裡面的寫法是,五秒後將此App完全關閉。 至此本來應該就要完成了,但是後來因為我打算把這幾秒的時間顯示在上面,嘗試的要寫for迴圈,卻發現會因為要設定final的關係,迴圈的i值會被固定,便又去找了倒數計時的function,因此讓我找到了下列的寫法 new CountDownTimer(10000, 1000) { public void onTick(long millisUntilFinished) { Txt_Info2.setText("本程式於" + millisUntilFinished / 1000 + "秒後自動關閉"); } public void onFinish() { CastScreenService.stop(); android.os.Process.killProcess(android.os.Process.myPid()); }}.start(); 這個Android內建的CountDownTimer(執行多少毫秒,每次多久毫秒執行) 寫法完美的解決了我原本的需求,倒數幾秒後,自動執行,而每秒亦可顯示在打算顯示的文字上 CountDownTimer(執行幾秒*1000,每次多少秒執行*1000)  因此上面的寫法會是 執行10秒,每秒執行一次onTick,10秒後執行onFinish。 至此就完美的解決了我的需求

Android 取消Button自帶陰影 (Style已經被用掉的狀況下仍然可用)

因為設計上的需求,在製作Android按鈕的時候,常常因為Button自帶的陰影效果而被要求修改 所以自然有了取消陰影的需求 大部分網路上都是這種做法 style= "?android:attr/borderlessButtonStyle" 但是因為有些Button是會進行客製化(邊框間距、圓角等),所以Style這個欄位會被用掉,因此上面的方法就沒辦法使用了,那麼可以使用這個方法 < style name= "Button_Join" parent= "@style/Widget.AppCompat.Button.Borderless" > < item name= "android:background" > @color/color_ff9234 </ item > < item name= "android:textColor" > @color/color_f6f6f6 </ item > </ style > 在Style 的名稱後面加上這一行  parent= "@style/Widget.AppCompat.Button.Borderless" 這樣就可以了

webView 旋轉會destroy activity的問題解法(轉)

webView 旋轉會destroy activity的問題解法(轉) 利用webView顯示url後,如果旋轉螢幕,webView的內容就會不見,這是因為旋轉螢幕會將原ACTIVITY destroy 後再重新create,造成部份變數、設定等會消失,參考網路上解法如下: 只要在 AndroidManifest.xml 中的activity 部份加入紅色部份即可。 < activity android :name= ".MainActivity" android :configChanges= "screenSize|orientation" > 原文出處 http://blograycheng.blogspot.tw/2016/01/webview-destroy-activity.html

將要傳送的參數包入onclick的方法

在onclick的指令下,要塞更多的資料到執行的function方法 方法一: 全部包入rel,然後使用如@來做分隔符號,接過去之後,再做分拆取得 方法二: 使用JavaScript的方法取得 '<td><a href="#" onclick=" CoinBuyLogButton (this)" Nickname= "' + Nickname + '" id="' + data .MemberBalances[i].Userid + '">' + CoinsBuy + '</a></td>' var Nickname = tag . getAttribute ( 'Nickname' ); var id = tag . getAttribute ( 'id' ); 方法三: 使用JQuery的方法取得 '<div class=" button aquamarine" style="padding-right: 20px;"> <span><a onclick=" popContent2 (this)" _type = "' +$obj.ReplayRecordType+ '" ; _title="' +$obj.ReplayRecordTitle+ '" ; _Content ="' +$obj. ReplayRecordContent + '">檢視</a></span></div>' ; var _type = $( data ). attr ( "_type" ); var _title = $( data ). attr ( "_title" );

VS C# Entity Framework 寫API 的一些方法註記

要將兩張表合併的方式 在SQL上面的用法是 select * from [dbo] . [TB_AREA] as a join [dbo] . [TB_CITY] as c on a . CityID = c . id 意思是 把TB_AREA表單 加入 TB_CITY 表單,做成 c表單,然後兩個表單的關聯是TB_AREA的CityID =TB_CITY的id 如我們要使用VS C# Entity Framework的話要使用如下的方程式 dbo.TB_TRAVELESSENTIALSDETAIL              .Join(dbo.TB_TRAVELESSENTIALS, ted => ted.TravelEssentialsID, te =>te.Id,(ted,te) => new  { ted,te}) 然後要取得時間的寫法是 (( DateTime )s.ted.TravelEssentialsDetailCreateTime).ToString( "yyyy/MM/dd" ) 下方為一小段範例程式碼                         var TEList = dbo.TB_TRAVELESSENTIALSDETAIL                             .Join(dbo.TB_TRAVELESSENTIALS, ted => ted.TravelEssentialsID, te =>te.Id,(ted,te) => new { ted,te})                             ...

iOS Safari 中點擊事件失效的解決辦法(轉貼)

iOS Safari 中點擊事件失效的解決辦法 問題描述 當使用委託給一個元素添加click事件時,如果事件是委託到 document 或 body 上,並且委託的元素是默認不可點擊的(如 div, span 等),此時 click 事件會失效。 可以使用下面的代碼在 iOS 中進行測試。 <!DOCTYPE html> < html > < head > < meta charset = "UTF-8" > < meta name = "viewport" content = "width=device-width" > < title > iOS click bug test </ title > < style > .container { } .target { display : block; text-align : center; margin : 100px 30px 0 ; padding : 10px 0 ; border : 1px solid #ccc ; } </ style > </ head > < body > < div class = "container" > < div class = "target" > Click Me! </ div > </ div > < script src = "//code.jquery.com/jquery-2.1.4.min.js" > </ script > < scrip...