jitsi
openfire
smack
2015年5月28日 星期四
2015年5月26日 星期二
Android-Android Studio 匯入Library
設定如下 :
File -> New Project -> Android -> Fradle: Android Module
build.gradle
File -> New Project -> Android -> Fradle: Android Module
build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.1.1'
}
}
apply plugin: 'com.android.application'
repositories {
jcenter()
flatDir {
dirs 'libs'
}
}
android {
compileSdkVersion 22
buildToolsVersion "22.0.1"
defaultConfig {
applicationId "com.example.activity"
minSdkVersion 18
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
// 針對 Libs 直接使用任何 jar 的檔案
compile fileTree(dir: 'libs', include: ['*.jar'])
// 針對原生 support jar
compile 'com.android.support:support-v4:22.1.1'
// 第三方 aar
compile(name:'aarLinName', ext:'aar')
// 第三方 Library
compile project(":projectName")
}
歡迎轉載,請註明出處。
2015年5月24日 星期日
Android-Android Studio 安裝
目前遇到的問題 :
13:19:56.255 [INFO] [org.gradle.launcher.daemon.server.Daemon] start() called on daemon - DefaultDaemonContext[uid=543060fe-2024-4dbb-a167-c8c4271647c0,javaHome=C:\JAVA\jdk,daemonRegistryDir=C:\Users\Brian\.gradle\daemon,pid=5648,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=x-windows-950,-Duser.country=TW,-Duser.language=zh,-Duser.variant]
13:19:56.267 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] updating lastActivityAt to 1432271996267
13:19:56.321 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface Software Loopback Interface 1
.
.
.
.
13:19:56.467 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? true
13:19:56.468 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback multicast interface Atheros AR5B97 Wireless Network Adapter-WFP LightWeight Filter-0000
13:19:56.484 [ERROR] [system.err]
13:19:56.485 [ERROR] [system.err] FAILURE: Build failed with an exception.
13:19:56.486 [ERROR] [system.err]
13:19:56.486 [ERROR] [system.err] * What went wrong:
13:19:56.487 [ERROR] [system.err] java.net.SocketException: Permission denied: listen
13:19:56.488 [ERROR] [system.err]
13:19:56.488 [ERROR] [system.err] * Try:
13:19:56.489 [ERROR] [system.err] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
13:19:56.494 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Removing daemon address: null
13:19:56.511 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] VM shutdown hook was unable to remove the daemon address from the registry. It will be cleaned up later.
org.gradle.internal.UncheckedException: java.net.BindException: Address already in use: Cannot bind
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
.
.
.
at org.gradle.launcher.daemon.server.Daemon$1.run(Daemon.java:100)
Caused by: java.net.BindException: Address already in use: Cannot bind
at java.net.TwoStacksPlainDatagramSocketImpl.bind0(Native Method)
.
.
.
at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:38)
... 9 more
總之,記得關防火牆...
13:19:56.255 [INFO] [org.gradle.launcher.daemon.server.Daemon] start() called on daemon - DefaultDaemonContext[uid=543060fe-2024-4dbb-a167-c8c4271647c0,javaHome=C:\JAVA\jdk,daemonRegistryDir=C:\Users\Brian\.gradle\daemon,pid=5648,idleTimeout=10800000,daemonOpts=-XX:MaxPermSize=256m,-XX:+HeapDumpOnOutOfMemoryError,-Xmx1024m,-Dfile.encoding=x-windows-950,-Duser.country=TW,-Duser.language=zh,-Duser.variant]
13:19:56.267 [DEBUG] [org.gradle.launcher.daemon.server.DaemonStateCoordinator] updating lastActivityAt to 1432271996267
13:19:56.321 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding IP addresses for network interface Software Loopback Interface 1
.
.
.
.
13:19:56.467 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Is this a multicast interface? true
13:19:56.468 [DEBUG] [org.gradle.messaging.remote.internal.inet.InetAddressFactory] Adding loopback multicast interface Atheros AR5B97 Wireless Network Adapter-WFP LightWeight Filter-0000
13:19:56.484 [ERROR] [system.err]
13:19:56.485 [ERROR] [system.err] FAILURE: Build failed with an exception.
13:19:56.486 [ERROR] [system.err]
13:19:56.486 [ERROR] [system.err] * What went wrong:
13:19:56.487 [ERROR] [system.err] java.net.SocketException: Permission denied: listen
13:19:56.488 [ERROR] [system.err]
13:19:56.488 [ERROR] [system.err] * Try:
13:19:56.489 [ERROR] [system.err] Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
Daemon vm is shutting down... The daemon has exited normally or was terminated in response to a user interrupt.
13:19:56.494 [DEBUG] [org.gradle.launcher.daemon.registry.PersistentDaemonRegistry] Removing daemon address: null
13:19:56.511 [DEBUG] [org.gradle.launcher.daemon.server.Daemon] VM shutdown hook was unable to remove the daemon address from the registry. It will be cleaned up later.
org.gradle.internal.UncheckedException: java.net.BindException: Address already in use: Cannot bind
at org.gradle.internal.UncheckedException.throwAsUncheckedException(UncheckedException.java:39)
.
.
.
at org.gradle.launcher.daemon.server.Daemon$1.run(Daemon.java:100)
Caused by: java.net.BindException: Address already in use: Cannot bind
at java.net.TwoStacksPlainDatagramSocketImpl.bind0(Native Method)
.
.
.
at org.gradle.cache.internal.FileLockCommunicator.<init>(FileLockCommunicator.java:38)
... 9 more
總之,記得關防火牆...
2015年5月22日 星期五
2015年5月18日 星期一
Java-基本集合
Map
Map<String, Object> map = ...;
for (String key : map.keySet()) {
// if get key
}
for (Object value : map.values()) {
// if get value
}
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// if you want get key and value
}
轉貼來源 : 來源
Map<String, Object> map = ...;
for (String key : map.keySet()) {
// if get key
}
for (Object value : map.values()) {
// if get value
}
for (Map.Entry<String, Object> entry : map.entrySet()) {
String key = entry.getKey();
Object value = entry.getValue();
// if you want get key and value
}
轉貼來源 : 來源
2015年5月12日 星期二
android-利用 color.xml 控制所有套板顏色
想必有些開發者可能要面對很多奇怪的需求
例如 :
A公司背景要紅色
B公司背景要橙色
C公司背景要黃色
...等,面對如果只是5張頁面還可以
但是到達10張以上的頁面要怎辦?
當然客戶沒有很奇怪的需求的話
我們只要把版面集中控管就可以方便去處理了
1 . 首先我們在專案底下的Value新增 : color.xml
2 . 參數如下 :
3 . 在介面使用自己設定的參數
4 . 如果是在 Java 底下設定
R.color 是專案底下的 Color . xml
以後只需要在 color.xml做更改
所有套用的頁面也會一起更改
參考資料 : How to set background color of a View
歡迎轉載,請註明出處。
例如 :
A公司背景要紅色
B公司背景要橙色
C公司背景要黃色
...等,面對如果只是5張頁面還可以
但是到達10張以上的頁面要怎辦?
當然客戶沒有很奇怪的需求的話
我們只要把版面集中控管就可以方便去處理了
1 . 首先我們在專案底下的Value新增 : color.xml
2 . 參數如下 :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="white">#FFFFFF</color>
<color name="black">#000000</color>
</resources>
3 . 在介面使用自己設定的參數
4 . 如果是在 Java 底下設定
R.color 是專案底下的 Color . xml
view.setBackgroundColor(getResources().getColor(R.color.black));
以後只需要在 color.xml做更改
所有套用的頁面也會一起更改
參考資料 : How to set background color of a View
歡迎轉載,請註明出處。
2015年5月11日 星期一
Android-EditText 監聽 字數 限制
想必各位大大多少會遇到輸入字框的字數限制
這裡就為大家整理一份出來
( 未完成 )
1 . addTextChangedListener
監聽文字被改變時
2 .
參考資料 : 來源1
這裡就為大家整理一份出來
( 未完成 )
1 . addTextChangedListener
監聽文字被改變時
public class MainActivity extends Activity {
private String TAG = "EditTextSample";
private EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.editText1);
editText.addTextChangedListener(new TextWatcher(){
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
Log.d(TAG,"之前是 : " + s);
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
Log.d(TAG,"文字被改變時 : " + s);
}
@Override
public void afterTextChanged(Editable s) {
Log.d(TAG,"之後為 : " + s);
}});
}
}
2 .
參考資料 : 來源1
2015年5月2日 星期六
訂閱:
文章 (Atom)