2017年1月7日 星期六

在 Android Studio 中使用 Java 8 Lamda ---- Retrolambda Plugin

Android 目前只有 7.0 以上支援JVM8.0,因此在舊版系統中,必須使用插件來轉換
如此一來便能使用匿名表達方式Lambda來撰寫程式
ref link
retrolambda https://github.com/orfjackal/retrolambda
gradle-retrolambda https://github.com/evant/gradle-retrolambda

2017年1月6日 星期五

Intent 啟動 Activity 方法

Intent 可以用來執行許多動作,這裡我們使用Intent來啟動另一個Activity
Bundle 可以放入不同類型的物件,以便在新Activity中取用
1
2
3
4
5
6
7
Intent intent = new Intent(MainActivity.this,ResultActivity.class); //建立新Intent來開啟ResultActivity
Bundle bundle = new Bundle(); //建立新Bundle物件
bundle.putBooleanArray("spaced", spaced); //放入物件 bundle.putInt("標籤名", 目標物件);
bundle.putInt("columns", columns);
bundle.putInt("inputQuantity", inputQuantity);
intent.putExtras(bundle); //在Intent中加入Bundle物件
startActivity(intent); //執行Intent
當你在目標Activity中,欲取出物件時
1
2
3
4
Bundle bundle = this.getIntent().getExtras(); //取得此次呼叫Intent所附帶的Bundle
spaced = bundle.getBooleanArray("spaced"); //用標籤名取得對應元件
columns = bundle.getInt("columns");
inputQuantity = bundle.getInt("inputQuantity");

Blogger 中利用 SyntaxHighlighter 顯示程式碼區塊

將以下內容貼至範本Html的head中
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<link href="//alexgorbatchev.com/pub/sh/current/styles/shCore.css" rel="stylesheet" type="text/css">
<link href="//alexgorbatchev.com/pub/sh/current/styles/shThemeDefault.css" rel="stylesheet" type="text/css">
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shCore.js" type="text/javascript"></script>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushJava.js" type="text/javascript"></script>
<script src="//alexgorbatchev.com/pub/sh/current/scripts/shBrushXml.js" type="text/javascript"></script>
<script language="javascript">
SyntaxHighlighter.defaults['toolbar']=false; //隱藏問號按鈕,建議隱藏,否則可能會產生bug。
SyntaxHighlighter.defaults['class-name']='highlightsetting'; //自定義CSS設置開放
SyntaxHighlighter.defaults['auto-links']=false; //讓超連結顯示為普通文字
SyntaxHighlighter.config.space=' '; //修復Google Chrome複製程式碼時變成空白的bug
SyntaxHighlighter.config.stripBrs=false; //忽略Blogger的標籤
SyntaxHighlighter.all();
</script>
在文章中使用時
1
2
<pre class="brush: <!--語法代號-->"> //程式碼內容
</pre>