Software/Android/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¥Æ¥¥¹¥È/Chapter02
¤ò¥Æ¥ó¥×¥ì¡¼¥È¤Ë¤·¤ÆºîÀ®
[
¥È¥Ã¥×
] [
¿·µ¬
|
°ìÍ÷
|
ñ¸ì¸¡º÷
|
ºÇ½ª¹¹¿·
]
³«»Ï¹Ô:
[[Software/Android/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¥Æ¥¥¹¥È]]
*Chapter 2 : ¼ÂÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¤Î´ðÁà [#u0ca9539]
¡¡¤³¤Î¾Ï¤Ç¤Ï¥Õ¥¡¥¤¥ë¸¡º÷¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¤òÄ̤·¤Æ¡¢...
¡¡Android¤Ë¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤¹¤ë¥µ¡¼¥Ó¥¹¡¢¥Û¡¼¥à²è...
~
~
**2-1. ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Î¹½À®Í×ÁÇ [#h502241d]
¡¡¤Þ¤º¤Ï¥Ù¡¼¥¹¤È¤Ê¤ë¥×¥í¥¸¥§¥¯¥È¤òÍÑ°Õ¤·¤Þ¤¹¡£°Ê²¼¤ÎÍͤË...
-Project Name¤Ë¡ÖFFind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Application Name¤Ë¡ÖFFind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Package Name¤Ë¡Öcom.beatcraft.ffind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Create Activity¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¡¢¡ÖFFindActivity¡×¤ÈÆþÎÏ...
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥×¥í¥¸¥§¥¯¥È¤ÏÂ礤¯Ê¬¤±¤Æ°Ê²¼...
~
~
|LEFT:|CENTER:|c
|¡¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë&br;¡¡¢ Java¥½¡¼¥¹¥³¡¼¥É&br;¡¡£¥ê...
~
¡¡ºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤òPackage Explorer¤Ç³Îǧ¤·¤Ä¤Ä¡¢³Æ...
~
~
¡¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¡ÊAndroidManifest.xml¡Ë~
¡¡¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î̾Á°¤ä¥Ð¡¼¥¸¥ç¥ó¡¢¤É¤Î¤è¤¦¤Ê²èÌÌ...
¡¡¥ê¥¹¥È2-1¤¬º£²ó¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç...
-¥ê¥¹¥È2-1
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/...
package="com.beatcraft.ffind"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FFindActivity" >
<intent-filter >
<action android:name="android.intent.act...
<category android:name="android.intent.c...
</intent-filter>
</activity>
</application>
</manifest>
~
¡¡applicationÍ×ÁǤÎandroid:icon°À¤¬¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó...
¡¡¤½¤ì¤¾¤ì¤Î°À¤ÎÆâÍƤϡ¢¸å½Ò¤¹¤ë¥ê¥½¡¼¥¹¤ò ¡Ödrawable/i...
¡¡activityÍ×ÁǤˤϤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥¢¥¯¥Æ¥£...
¡¡activityÍ×ÁÇÆâ¤Ë¤¢¤ëintent-filterÍ×ÁǤˤϡ¢¥¢¥¯¥Æ¥£¥Ó¥Æ...
¡¡¤³¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ç¤Ï¡¢FFindActivity¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤¬¤³¤Î...
~
~
¢Java¥½¡¼¥¹¥³¡¼¥É~
¡¡¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¹½À®¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¤Ç¡¢Package E...
-¥ê¥¹¥È2-2 FFindActivity.java : 
package com.beatcraft.ffind;
import android.app.Activity;
import android.os.Bundle;
public class FFindActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
~
¡¡FFindActivity.java¡Ê¥ê¥¹¥È2-2¡Ë¤ÎonCreate¥á¥½¥Ã¥É¤Ï¡¢FF...
¡¡setContentView¥á¥½¥Ã¥É¤Î°ú¿ô¤ËÅϤ·¤Æ¤¤¤ë¡ÖR.layout.main...
~
~
£¥ê¥½¡¼¥¹~
¡¡¥ê¥½¡¼¥¹¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤ëʸ»úÎó¤ä²èÁü¡¢...
¡¡drawable¤Ë¤Ï²èÁü¥Õ¥¡¥¤¥ë¤Ê¤É¤ÎÉÁ²è²Äǽ¤Ê¥ê¥½¡¼¥¹¤¬ÃÖ¤«...
¡¡¤É¤Î´Ä¶¤Ç¤âƱ¤¸Êª¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥µ¥Õ¥£¥Ã¥¯¥¹¤òÉÕ¤±...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Îandroid:icon°À¤Ç»ØÄꤷ¤¿¡Ö@drawable/ic_...
¡¡layout¤Ë¤Ï¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î²èÌ̥쥤¥¢¥¦¥È¤òµ½Ò¤·¤¿XML¥Õ...
¡¡FFindActivity.java¤ÎsetContentView¥á¥½¥Ã¥É¤Ç»ØÄꤷ¤¿¡ÖR...
¡¡values¤Ë¤Ïʸ»úÎó¤äÎóµó¤È¤¤¤Ã¤¿¡¢ÍÍ¡¹¤ÊÃͤòÄêµÁ¤·¤¿XML¥Õ...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Îandroid:label°À¤Ç»ØÄꤷ¤¿¡Ö@string/app_...
¡¡¥ê¥½¡¼¥¹¤Ï¥ê¥½¡¼¥¹ID¤Ë¤è¤Ã¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¤äJava¥½¡¼¥¹¥³...
-XML¥Õ¥¡¥¤¥ë¤«¤é»²¾È¤¹¤ë¾ì¹ç :
--@¥ê¥½¡¼¥¹¼ïÊÌ/¥ê¥½¡¼¥¹Ì¾
-Java¥½¡¼¥¹¥³¡¼¥É¤«¤é»²¾È¤¹¤ë¾ì¹ç :
--R.¥ê¥½¡¼¥¹¼ïÊÌ.¥ê¥½¡¼¥¹Ì¾
~
~
¡¡drawable¤Èlayout¤Ï¤½¤Î¤Þ¤Þ¥ê¥½¡¼¥¹¼ïÊ̤Ȥʤꡢ¥ê¥½¡¼¥¹...
¡¡values¤Ë´Þ¤Þ¤ì¤ëXML¥Õ¥¡¥¤¥ë¤Î¥ê¥½¡¼¥¹¼ïÊ̤Ïvalues¤È¤Ï¤Ê...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Ç»ØÄꤷ¤¿¡Ö@string/app_name¡×¤¬¥ê¥½¡¼¥¹ID...
-¥ê¥¹¥È2-3 strings.xml :
< xml version="1.0" encoding="utf-8" >
<resources>
<string name="hello">Hello World, FFindActivity!</st...
<string name="app_name">FFind</string>
</resources>
~
~
**2-2. ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¹½À®Í×ÁǤȥ쥤¥¢¥¦¥È [#nd08055e]
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î´é¤È¤Ê¤ë¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ï¡¢¥¢¥×...
¡¡¥Ó¥å¡¼¤ÏGUIÉôÉʤδðËܤȤʤë¤â¤Î¤Ç¡¢¥Ü¥¿¥ó¤ä¥Æ¥¥¹¥È¥Ü¥Ã...
¡¡¥ì¥¤¥¢¥¦¥È¤ÏGUIÉôÉʤò¤É¤Î¤è¤¦¤ËÇÛÃÖ¤¹¤ë¤«¤ò·èÄê¤Å¤±¤ë¥Ó...
-LinearLayout
--LinearLayout¤Ï¥Ó¥å¡¼¤òÅÐÏ¿¤·¤¿½çÈÖ¤Ëʤ٤ëɸ½àŪ¤Ê¥ì¥¤...
-RelativeLayout
--RelativeLayout¤Ï¥Ó¥å¡¼Æ±»Î¤ÎÇÛÃ֤˴ØÏ¢À¤ò¤â¤¿¤»¡¢¤½¤ì...
-TableLayout
--TableLayout¤Ïɽ·Á¼°¤Ë¥Ó¥å¡¼¤òÇÛÃÖ¤¹¤ë¥ì¥¤¥¢¥¦¥È¤Ç¤¹¡£
¡¡¤³¤Î¾¤Ë¤âÍÑÅӤ˱þ¤¸¤¿¤¤¤¯¤Ä¤«¤Î¥ì¥¤¥¢¥¦¥È¤¬Ä󶡤µ¤ì¤Æ...
~
~
**2-3. ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥ì¥¤¥¢¥¦¥ÈºîÀ® [#c0a8843b]
¡¡¤³¤³¤«¤é¤ÏºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤ò¤â¤È¤Ë¼ÂºÝ¤Î¥¢¥×¥ê¥±¡¼...
¡¡¿Þ2-2¤¬º£²ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î²èÌÌ¥¤¥á¡¼¥¸¤È¤Ê¤ê¤Þ¤¹¡£
CENTER:&ref(./02_02.png,);
CENTER:¿Þ2-2~
~
~
¡¡Eclipse¤ÎPackage Explorer¤«¤émain.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·...
CENTER:&ref(./02_03.png,);
CENTER:¿Þ2-3~
~
~
¡¡¥µ¥ó¥×¥ë¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡ÖHello World, FFindActivity!¡×...
¡¡Â³¤¤¤Æº¸Éô¤ÎPalette¤«¤éLayouts¤ò¥¯¥ê¥Ã¥¯¤·¤ÆŸ³«¤·¡¢Lin...
¡¡¼¡¤Ë¤³¤Î¥ì¥¤¥¢¥¦¥È¤Ë¥¡¼¥ï¡¼¥É¤òÆþÎϤ¹¤ë¥Æ¥¥¹¥È¥Ü¥Ã¥¯...
¢¨Properties¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Eclipse¤Î¥á¥Ë¥å¡¼¤«¤é...
-Id¤Ë¡Ö@+id/FindTarget¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout weight¤Ë¡Ö1¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout width¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Single line¤Ë¡Ötrue¡×¤ò»ØÄꤷ¤Þ¤¹¡£
~
¡¡Id¤ËÆþÎϤ·¤¿ÆâÍƤϤ³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Î¥ê¥½¡¼¥¹ID¤Ë¤Ê...
¡¡Layout height¤ÈLayout width¤Ï¤³¤Î¥Ó¥å¡¼¤Î¹â¤µ¤ÈÉý¤ò·èÄê...
¡¡Layout weight¤Ï¿Æ¥Ó¥å¡¼Æâ¤Ç»ÈÍѲÄǽ¤ÊÎΰè¤ò¤É¤ÎÄøÅ٤νÅ...
¡¡Single line¤òtrue¤Ë¤¹¤ë¤È¡¢¤³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ë¤ÏÊ£¿ô...
¡¡°ú¤Â³¤¸¡º÷¥Ü¥¿¥ó¤òÄɲä·¤Þ¤¹¡£º¸Éô¤ÎPalette¤«¤éForm W...
-Id¤Ë¡Ö@+id/FindButton¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Text¤Ë¡Ö@string/find_button¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout weight¤ò¶õ¤Ë¤·¤Þ¤¹¡£
-Layout width¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
¡¡Layout weight¤ò¶õ¤Ë¤¹¤ë¤³¤È¤Ç¤³¤Î¥Ü¥¿¥ó¤Ïɽ¼¨¤Ë¤ê¤ë¤À...
¡¡Text°À¤Ï¤³¤Î¥Ü¥¿¥ó¤Ëɽ¼¨¤¹¤ë¥é¥Ù¥ë¤Îʸ»úÎó¤ò»ØÄꤷ¤Þ...
¡¡Package Explorer¤«¤éstrings.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤...
-¥ê¥¹¥È2-4 strings.xml :
< xml version="1.0" encoding="utf-8" >
<resources>
<string name="app_name">FFind</string>
<string name="find_button">¸¡º÷</string>
</resources>
~
¡¡ºÇ¸å¤Ë¸¡º÷·ë²Ì¤òɽ¼¨¤¹¤ë¥Ó¥å¡¼¤òÄɲä·¤Þ¤¹¡£ËÜÍèɽ¼¨ÍÑ...
-Id¤Ë¡Ö@+id/Result¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout width¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Editable¤Ë¡Öfalse¡×¤òÀßÄꤷ¤Þ¤¹¡£
¡¡Layout height/Layout width¤Ëfill_parent¡ÊAPI level 8°Ê...
¡¡¤³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ï·ë²Ìɽ¼¨¤ò¹Ô¤¦¤À¤±¤Î¤â¤Î¤Ê¤Î¤Ç¡¢E...
¡¡¤³¤³¤Þ¤Ç¤ÇOutline¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¿Æ»Ò...
¡¡¡¦LinearLayout~
¡¡¡¡¡¦linearLayout1~
¡¡¡¡¡¡¡¦FindTarget~
¡¡¡¡¡¡¡¦FindButton~
¡¡¡¡¡¦Result
¡¡°Ê¾å¤Ç¥ì¥¤¥¢¥¦¥ÈºîÀ®¤Ï´°Î»¤Ç¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô...
~
~
**2-4. ¸¡º÷½èÍý¤Î¼ÂÁõ [#hf8cfb80]
¡¡¤³¤³¤«¤é¤ÏAndroid¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÁöºº¤·¡¢»ØÄê¤Î¥¡¼...
¡¡Package Explorer¤ÇFFindActivity.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·...
-¥ê¥¹¥È2-5 :
private void listFile(String target, String folder, Arra...
File f = new File(folder);
File fl[] = f.listFiles();
if (fl != null) {
for (int i = 0; i < fl.length; ++i) {
if (list.size() == 5000) {
break;
}
File tmp = fl[i];
String name = tmp.getName();
if (name.contains(target) == true) {
list.add(name);
}
if (tmp.isDirectory() == true) {
try {
String c = tmp.getAbsolutePath();
if (c.equals(tmp.getCanonicalPat...
if (c != null) {
listFile(target, c, list);
} ...
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
~
¡¡¤³¤Î¥á¥½¥Ã¥É¤Ïfolder¤Ç»ØÄꤵ¤ì¤¿¥Õ¥©¥ë¥À¤Î¥Õ¥¡¥¤¥ë°ìÍ÷...
¡¡isDirectory¥á¥½¥Ã¥É¤Ç¥Õ¥©¥ë¥À¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·...
¡¡¤³¤³¤Ç»ÈÍѤ·¤Æ¤¤¤ëFile¥¯¥é¥¹¤ÈArrayList¥¯¥é¥¹¤òÍøÍѲÄǽ...
import java.io.File;
import java.util.ArrayList;
¡¡¼¡¤Ë¡¢¸¡º÷·ë²Ì¤ò³ÊǼ¤¹¤ë¤¿¤á¡¢onCreate¥á¥½¥Ã¥É¤ÎľÁ°¤Ç...
private ArrayList<String> mList;
¡¡onCreate¤ÎsetContentView¸Æ¤Ó½Ð¤·¸å¤Ë¤³¤ÎÇÛÎó¥ê¥¹¥È¤òÀ¸...
-¥ê¥¹¥È2-6 :
mList = new ArrayList<String>();
Button button = (Button) findViewById(R.id.FindButton);
if (button != null) {
button.setOnClickListener(new View.OnClickListener(...
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.F...
String target = text.getText().toStri...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
String tmp = "";
for (int i = 0; i < mList.siz...
tmp += mList.get(i) + "\n";
}
text = (EditText) findViewByI...
text.setText(tmp);
}
}
}
}
});
}
~
¡¡findViewById¥á¥½¥Ã¥É¤Ï¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ä¥Ó¥å¡¼¤¬»ý¤Ã¤Æ¤¤...
¡¡¥Ü¥¿¥ó¤Î¼èÆÀ¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢setOnClickListener¥á¥½¥Ã¥É...
¡¡onClick¤¬¼ÂºÝ¤Ë¥Ü¥¿¥ó¤Î½èÍý¤ò¼ÂÁõ¤¹¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹...
¡¡¸¡º÷½èÍý¤Ç¤ÏFindTarget¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤«¤égetText¥á¥½¥Ã...
¡¡ºÇ¸å¤Ë·ë²Ì¥ê¥¹¥È¤ÎÆâÍƤò¥Á¥§¥Ã¥¯¤·¡¢¶õ¤Ç¤Ê¤±¤ì¤Ð¥ê¥¹¥È...
¡¡°Ê¾å¤Ç¼ÂÁõ¤Ï´°Î»¤Ç¤¹¡£Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
~
~
**2-5. ANRÌäÂê¤È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Þ¥ë¥Á¥¹¥ì¥Ã¥É²½ [#y84b...
¡¡Á°¹à¤Ç´°À®¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¤¬¡¢¸¡º÷·ë²Ì¤¬Â¿¤¯¤Ê...
CENTER:&ref(./02_04.png,);
CENTER:¿Þ2-4~
~
~
¡¡¤³¤ì¤ÏANR¡ÊApplication Not Responding¡Ë¤È¸Æ¤Ð¤ì¡¢Androi...
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÄ̾Æä˲¿¤â°Õ¼±¤»¤º¤ËºîÀ®¤·...
¡¡Android¤Ï¸µ¡¹¥¹¥Þ¡¼¥È¥Õ¥©¥óÍѤÎOS¤È¤·¤Æ³«È¯¤µ¤ì¤¿¤¿¤á¡¢...
¡¡¤Þ¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥óñÂΤǹͤ¨¤Æ¤â¡¢¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ë»þ...
¡¡¤³¤¦¤·¤¿ÌäÂê¤òÈò¤±¤ë¤¿¤á¡¢»þ´Ö¤Î¤«¤«¤ë½èÍý¤Ï¥á¥¤¥ó¥¹¥ì...
-¥ê¥¹¥È2-7 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
Thread t = new Thread() {
@Override
public void run() {
EditText text;
text = (EditText) findViewById(R.id.Fin...
String target = text.getText().toString...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
String tmp = "";
for (int i = 0; i < mList.size(...
tmp += mList.get(i) + "\n";
}
text = (EditText) findViewById(...
text.setText(tmp);
}
}
}
};
t.start();
}
}
~
¡¡onClick¤ÇFindButton¤«¤É¤¦¤«³Îǧ¤·¤¿¸å¡¢Thread¥¯¥é¥¹¤Î¥ª...
¡¡»þ´Ö¤Î¤«¤«¤ë½èÍý¤¬ÊÌ¥¹¥ì¥Ã¥É¤Ë°ÜÆ°¤·¤¿¤¿¤á¡¢¸¡º÷¥Ü¥¿¥ó...
CENTER:&ref(./02_05.png,);
CENTER:¿Þ2-5~
~
~
¡¡»þ´Ö¤Î¤«¤«¤ë½èÍý¤ÏÊÌ¥¹¥ì¥Ã¥É¤Ç¹Ô¤ï¤»¤Ä¤Ä¡¢½èÍý¤¬´°Î»¤·...
¡¡Handler¥¯¥é¥¹¤òÍøÍѲÄǽ¤Ë¤¹¤ë¤¿¤á¡¢android.os.Bundle¤Î...
import android.os.Handler;
¡¡FFindActivity¤Îprivate¥á¥ó¥Ð¤Ë·ë²Ìɽ¼¨ÍѤÎString¤ÈHandl...
private String mResult;
private Handler mHandler = new Handler();
¡¡onClick¤Î¤¦¤ÁUI¤òÁàºî¤¹¤ëɬÍפ¬¤¢¤ë²Õ½ê¤ò½¤Àµ¤·¤Þ¤¹¡Ê¥ê...
-¥ê¥¹¥È2-8 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
Thread t = new Thread() {
@Override
public void run() {
EditText text;
text = (EditText) findViewById(R.id.Fin...
String target = text.getText().toString...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
mResult = "";
for (int i = 0; i < mList.size(...
mResult += mList.get(i) + ...
}
mHandler.post(new Runnable() {
@Override
public void run() {
EditText text = (EditTex...
text.setText(mResult);
}
});
}
}
}
};
t.start();
}
}
~
¡¡¸¡º÷·ë²Ì¤Î¥µ¥¤¥º¤ò³Îǧ¤·¤¿¸å¡¢¥ê¥¹¥ÈÆâ¤Î¥Ç¡¼¥¿¤ò·ë²Ìɽ...
¡¡¤³¤ì¤Ç»þ´Ö¤Î¤«¤«¤ë¸¡º÷½èÍý¤òÊÌ¥¹¥ì¥Ã¥É¤ËÄɤ¤½Ð¤·¡¢¸¡º÷...
**2-6. AsyncTask¤Ë¤è¤ë¥Þ¥ë¥Á¥¹¥ì¥Ã¥É½èÍý [#mf2fe384]
¡¡Á°¹à¤Ç¤ÏThread¤ÈHandler¤ò»ÈÍѤ·¤Æ»þ´Ö¤Î¤«¤«¤ë½èÍý¤ò¥á¥¤...
¡¡AsyncTask¤Ë¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ë½èÍý¤ò¼ÂÁõ...
-onPreExecute
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î¼Â¹ÔÁ°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ëÁ°½èÍýÍѤΥá...
-doInBackground
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍýÍѤΥ᥽¥Ã¥É¤Ç¡¢¥á¥¤¥ó¥¹¥ì¥Ã¥É¤È¤Ï...
-onProgressUpdate
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î¿Ê¹Ô¾õ¶·¹¹¿·»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½...
-onPostExecute
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î´°Î»¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¸å½èÍýÍѤΥá...
¡¡¤³¤³¤«¤é¤Ï¼ÂºÝ¤ËAsyncTask¤Î¥µ¥Ö¥¯¥é¥¹¤òºîÀ®¤·¡¢FFind¤Ë...
CENTER:&ref(./02_06.png,);
CENTER:¿Þ2-6~
~
~
¡¡¿Þ2-6¤Î¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì¤¿¤é¡¢Package¤Ë¡Öcom.beatcra...
¡¡Superclass¤ÎÍó¤ËÆþÎϤ·¤¿Ä̤ꡢAsyncTask¤Ï3¤Ä¤Î·¿¤ò»ØÄê...
¡¡ºîÀ®¤µ¤ì¤¿FindTask.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢¥á¥ó¥Ð...
-¥ê¥¹¥È2-9 :
private FFindActivity mActivity;
public FindTask(FFindActivity activity) {
mActivity = activity;
}
~
¡¡¸¡º÷½èÍý¤È·ë²Ì¤ÎÈ¿±Ç¤òFFindActivity¤Ç¹Ô¤¦¤¿¤á¡¢¤³¤ì¤òÊÝ...
¡¡Â³¤¤¤ÆdoInBackground¤Î½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡Ê¥ê¥¹¥È2-10¡Ë¡£
-¥ê¥¹¥È2-10 :
@Override
protected Void doInBackground(String... arg0) {
String target = arg0[0];
mActivity.listFile(target);
return null;
}
~
¡¡doInBackground¤Î°ú¿ô¤Ï¥Æ¥ó¥×¥ì¡¼¥È¤Ç»ØÄꤷ¤¿·¿¤Î²ÄÊÑĹ...
¡¡°ú¤Â³¤onPostExecute¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Þ¤¹¡Ê¥ê¥¹¥È2-11¡Ë¡£
-¥ê¥¹¥È2-11 :
@Override
protected void onPostExecute(Void v) {
mActivity.result();
mActivity = null;
}
~
¡¡onPostExecute¤Ï¸¡º÷¤¬´°Î»¤·¤¿ºÝ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Î¤Ç¡¢FFin...
¡¡°Ê¾å¤ÇFindTask¤Î¼ÂÁõ¤Ï¤Ò¤È¤Þ¤º´°Î»¤Ç¤¹¡£Â³¤¤¤ÆFFindActi...
-¥ê¥¹¥È2-12 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.FindTarget);
String target = text.getText().toString();
if (target.equals("") == false) {
mList.clear();
FindTask task = new FindTask(FFindActivity...
task.execute(target);
}
}
}
~
¡¡¥¡¼¥ï¡¼¥É¤¬¶õ¤Ç¤Ê¤«¤Ã¤¿¾ì¹çFindTask¤òÀ¸À®¤·¡¢execute¥á...
¡¡FindTask¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¸¡º÷½èÍý¤È·ë²Ìɽ¼¨¤Î¥á¥½¥Ã¥É¤ò...
-¥ê¥¹¥È2-13 :
public void listFile(String target) {
listFile(target, "/", mList);
if (mList.size() > 0) {
mResult = "";
for (int i = 0; i < mList.size(); ++i) {
mResult += mList.get(i) + "\n";
}
}
}
public void result() {
if (mList.size() > 0) {
EditText text = (EditText) findViewById(R.id.Res...
text.setText(mResult);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toast.LENG...
}
}
~
¡¡FindTask¤ÎdoInBackground¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿listFile¥á¥½¥Ã...
¡¡FindTask¤ÎonPostExecute¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿result¥á¥½¥Ã¥É¤Ç...
¡¡¤Þ¤¿¡¢¸¡º÷·ë²Ì¤¬0·ï¤À¤Ã¤¿¾ì¹ç²¿¤âɽ¼¨¤·¤Ê¤¤¤Î¤Ï¤ï¤«¤ê¤Å...
¡¡¾°¡¢Toast¤Î»ÈÍѤˤÏandroid.widget.Toast¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó...
~
CENTER:&ref(./02_07.png,);
CENTER:¿Þ2-7~
~
~
¡¡FFind¤ÎAsyncTask²½¤Ï¤³¤ì¤Ç´°Î»¤Ç¤¹¤¬¡¢¤è¤ê¤ï¤«¤ê¤ä¤¹¤¯...
¡¡FFindTask.java¤ò³«¤¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤Î¥Ñ¥Ã¥±¡¼¥¸...
import android.app.ProgressDialog;
¡¡¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ò¥á¥ó¥ÐÊÑ¿ô¤ËÄɲä·¤Þ¤¹¡£
private ProgressDialog mDialog;
¡¡onPreExecute¥á¥½¥Ã¥É¤òÄɲä·¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ÎÀ¸...
-¥ê¥¹¥È2-14 :
@Override
protected void onPreExecute() {
mDialog = new ProgressDialog(mActivity);
mDialog.setMessage(mActivity.getString(R.string.find...
mDialog.show();
}
~
¡¡¥À¥¤¥¢¥í¥°¤ÎsetMessage¥á¥½¥Ã¥É¤Ï¥À¥¤¥¢¥í¥°¤Ëɽ¼¨¤¹¤ë¥á...
¡¡onPostExecute¥á¥½¥Ã¥É¤ò½¤Àµ¤·¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ò¾Ã...
-¥ê¥¹¥È2-15 :
@Override
protected void onPostExecute(Void v) {
mDialog.dismiss();
mDialog = null;
mActivity.result();
mActivity = null;
}
~
¡¡¥ê¥½¡¼¥¹¤Îstrings.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢°Ê²¼¤Îʸ...
<string name="find_progress">¸¡º÷Ãæ...</string>
¡¡°Ê¾å¤Ç½¤Àµ¤Ï´°Î»¤Ç¤¹¡£¸¡º÷Ãæ¤Ï¿Þ2-8¤Î¤è¤¦¤Ê¥À¥¤¥¢¥í¥°¤¬...
CENTER:&ref(./02_08.png,);
CENTER:¿Þ2-8~
~
~
¡¡¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤Ï¸½ºß¤Î¿ÊĽ¾õ¶·¤ò¥Ð¡¼¤Ç¼¨¤¹¤Ê¤É¡¢...
~
~
**2-7. ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ÎÁ«°Ü [#v5875d61]
¡¡¤³¤³¤«¤é¤ÏFFind¤Î²þ½¤¤ò¹¹¤Ë¿Ê¤á¤Æ¡¢¸¡º÷·ë²Ì¤òÊÌ¥¢¥¯¥Æ¥£...
¡¡¤Þ¤º¤Ï·ë²Ìɽ¼¨ÍѤΥ¢¥¯¥Æ¥£¥Ó¥Æ¥£¤òÍÑ°Õ¤·¤Þ¤¹¡£Eclipse¤Î...
¡¡ºîÀ®¤µ¤ì¤¿ResultActivity.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢...
-¥ê¥¹¥È2-16 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
}
~
¡¡Â³¤¤¤Æ¤³¤Î¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ç»ÈÍѤ¹¤ë¥ì¥¤¥¢¥¦¥È¡ÊR.layout....
CENTER:&ref(./02_09.png,);
CENTER:¿Þ2-9~
~
~
¡¡Â³¤¯"New Android Layout XML File"¤ÇFile¤Ë¡Öresult.xml¡×...
¡¡Package Explorer¤«¤éresult.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤...
CENTER:&ref(./02_10.png,);
CENTER:¿Þ2-10~
~
~
¡¡ÇÛÃÖ¤·¤¿¥ê¥¹¥È¥Ó¥å¡¼¤Î¥×¥í¥Ñ¥Æ¥£¤ò°Ê²¼¤Î¤è¤¦¤ËÀßÄꤷ¤Þ...
-Id¤Ë¡Ö@+id/Result¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout width¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
¡¡°Ê¾å¤ÇResult¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¥ì¥¤¥¢¥¦¥ÈºîÀ®¤Ï´°Î»¤Ç¤¹¡£O...
¡¡¡¦LinearLayout~
¡¡¡¡¡¦Result
¡¡Result¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¼ÂÁõ¤ò¿Ê¤á¤ëÁ°¤Ë¡¢FFindActivity¤Î...
¡¡¼¡¤ËFFindActivity.java¤ò³«¤¡¢¸¡º÷¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤µ¤ì...
-¥ê¥¹¥È2-17 :
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.FindTarget);
String target = text.getText().toString();
if (target.equals("") == false) {
Intent intent = new Intent(getApplicationCon...
com.beatcraft.ffind.ResultActivity.class);
intent.putExtra("Target", target);
startActivity(intent);
}
}
}
~
¡¡FindTask¤òÀ¸À®¤·¡¢¸¡º÷½èÍý¤ò¼Â¹Ô¤·¤Æ¤¤¤¿²Õ½ê¤¬Êѹ¹¤µ¤ì...
¡¡Â³¤¯putExtra¥á¥½¥Ã¥É¤Ç¤Ï¡¢¥¤¥ó¥Æ¥ó¥È¤òÁ÷¿®¤¹¤ëºÝ¤ËźÉÕ...
¡¡ºÇ¸å¤ËstartActivity¤Ç¥¤¥ó¥Æ¥ó¥È¤òÁ÷¿®¤·¡¢ResultActivity...
¡¡¤³¤ì¤Þ¤ÇFFindActivity¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤¿¸¡º÷½èÍý¤È·ë²Ìɽ¼¨¤Ï...
private ArrayList<String> mList;
public void listFile(String target)
public void result()
private void listFile(String target, String folder, Arra...
¡¡¤³¤ì¤ÇFFindActivity.java¤Î½¤Àµ¤Ï´°Î»¤Ç¤¹¡£Â³¤¤¤ÆResultA...
¡¡¤Þ¤º¤ÏonCreate¤ò½¤Àµ¤·¤Þ¤¹¡£setContentView¸Æ¤Ó½Ð¤·¤Î¤¢...
-¥ê¥¹¥È2-18 :
mList = new ArrayList<String>();
Intent intent = getIntent();
if (intent == null) {
finish();
}
String target = intent.getStringExtra("Target");
FindTask task = new FindTask(this);
task.execute(target);
~
¡¡ºÇ½é¤ËFFindActivity¤«¤é°ú¤·Ñ¤¤¤ÀArrayList¤ÎÀ¸À®¤ò¹Ô¤Ê...
¡¡getStringExtra¤Ï¥¤¥ó¥Æ¥ó¥È¤«¤éʸ»úÎ󥿥¤¥×¤ÎźÉեǡ¼¥¿...
¡¡FindTask¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ëlistFile¤Ïprivate¤ÎlistFile¥á¥½...
-¥ê¥¹¥È2-19 :
public void listFile(String target) {
listFile(target, "/", mList);
}
~
¡¡result¥á¥½¥Ã¥É¤Ç¤Ï·ë²Ì¤ÎÀßÄê¤òEditText¤«¤éListView¤Îʪ...
-¥ê¥¹¥È2-20 :
public void result() {
if (mList.size() > 0) {
ListView lv = (ListView) findViewById(R.id.Resul...
String sa[] = new String[mList.size()];
for (int i = 0; i < mList.size(); ++i) {
sa[i] = mList.get(i);
}
ArrayAdapter<String> adapter = new ArrayAdapter<...
android.R.layout.simple_list_item_1, sa);
lv.setAdapter(adapter);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toast.LENG...
}
}
~
¡¡ListView¤Ï¥¢¥À¥×¥¿¡¼¤È¸Æ¤Ð¤ì¤ë¥¯¥é¥¹¤Ç¥ê¥¹¥È¥Ç¡¼¥¿¤È·ë...
¡¡ArrayAdapter¤Ç¤Ï¥ê¥¹¥È¥Ó¥å¡¼¤Î³ÆÍ×Áǡʥꥹ¥È¥¢¥¤¥Æ¥à¡Ë...
¡¡ArrayList¤«¤éʸ»úÎóÇÛÎó¤òºîÀ®¤·¡¢¤³¤Î¥Ç¡¼¥¿¤ò¤â¤È¤ËºîÀ®...
¡¡ºÇ¸å¤ËFindTask.java¤ò³«¤¡¢FFindActivity¤È¤Ê¤Ã¤Æ¤¤¤ë²Õ...
¡¡»Ä¤ëºî¶È¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¤Î½¤Àµ¤Ç¤¹¡£Äɲä·¤¿ResultActivit...
-¥ê¥¹¥È2-21 :
<activity
android:label="@string/app_name"
android:name=".ResultActivity" >
</activity>
~
¡¡°Ê¾å¤ÇÁ´¤Æ¤Î½¤Àµ¤¬´°Î»¤·¤Þ¤·¤¿¡£Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦...
CENTER:&ref(./02_11.png,);
CENTER:¿Þ2-11~
~
~
**2-8. FFindÁ´¥½¡¼¥¹¥³¡¼¥É/XML¥Õ¥¡¥¤¥ë [#h2f70468]
-¥ê¥¹¥È2-22 FFindActivity.java :
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class FFindActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.FindB...
if (button != null) {
button.setOnClickListener(new View.OnClickL...
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButt...
EditText text;
text = (EditText) findViewByI...
String target = text.getText(...
if (target.equals("") == fals...
Intent intent = new Inte...
com.beatcraft.ffind.R...
intent.putExtra("Target"...
startActivity(intent);
}
}
}
});
}
}
}
~
~
-¥ê¥¹¥È2-23 ResultActivity.java :
package com.beatcraft.ffind;
import java.io.File;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class ResultActivity extends Activity {
private ArrayList<String> mList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
mList = new ArrayList<String>();
Intent intent = getIntent();
if (intent == null) {
finish();
}
String target = intent.getStringExtra("Target");
FindTask task = new FindTask(this);
task.execute(target);
}
public void listFile(String target) {
listFile(target, "/", mList);
}
public void result() {
if (mList.size() > 0) {
ListView lv = (ListView) findViewById(R.i...
String sa[] = new String[mList.size()];
for (int i = 0; i < mList.size(); ++i) {
sa[i] = mList.get(i);
}
ArrayAdapter<String> adapter = new ArrayA...
android.R.layout.simple_list_item_1,...
lv.setAdapter(adapter);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toa...
}
}
private void listFile(String target, String folder, ...
File f = new File(folder);
File fl[] = f.listFiles();
if (fl != null) {
for (int i = 0; i < fl.length; ++i) {
if (list.size() == 5000) {
break;
}
File tmp = fl[i];
String name = tmp.getName();
if (name.contains(target) == true) {
list.add(name);
}
if (tmp.isDirectory() == true) {
try {
String c = tmp.getAbsolutePa...
if (c.equals(tmp.getCanonica...
if (c != null) {
listFile(target, c, ...
} ...
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
~
~
-¥ê¥¹¥È2-24 FindTask.java :
package com.beatcraft.ffind;
import android.app.ProgressDialog;
import android.os.AsyncTask;
public class FindTask extends AsyncTask<String, Integer,...
private ResultActivity mActivity;
private ProgressDialog mDialog;
public FindTask(ResultActivity activity) {
mActivity = activity;
}
@Override
protected void onPreExecute() {
mDialog = new ProgressDialog(mActivity);
mDialog.setMessage(mActivity.getString(R.strin...
mDialog.show();
}
@Override
protected Void doInBackground(String... arg0) {
String target = arg0[0];
mActivity.listFile(target);
return null;
}
@Override
protected void onPostExecute(Void v) {
mDialog.dismiss();
mDialog = null;
mActivity.result();
mActivity = null;
}
}
~
~
-¥ê¥¹¥È2-25 main.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/...
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/FindTarget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true" >
<requestFocus />
</EditText>
<Button
android:id="@+id/FindButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/find_button" />
</LinearLayout>
</LinearLayout>
~
~
-¥ê¥¹¥È2-26 result.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/...
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/Result"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
</LinearLayout>
~
~
-¥ê¥¹¥È2-27 AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/...
package="com.beatcraft.ffind"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FFindActivity" >
<intent-filter >
<action android:name="android.intent.act...
<category android:name="android.intent.c...
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".ResultActivity" >
</activity>
</application>
</manifest>
----
RIGHT:ÆâÆ£
½ªÎ»¹Ô:
[[Software/Android/¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¥Æ¥¥¹¥È]]
*Chapter 2 : ¼ÂÍÑ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó³«È¯¤Î´ðÁà [#u0ca9539]
¡¡¤³¤Î¾Ï¤Ç¤Ï¥Õ¥¡¥¤¥ë¸¡º÷¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î³«È¯¤òÄ̤·¤Æ¡¢...
¡¡Android¤Ë¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤ÇÆ°ºî¤¹¤ë¥µ¡¼¥Ó¥¹¡¢¥Û¡¼¥à²è...
~
~
**2-1. ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¥×¥í¥¸¥§¥¯¥È¤Î¹½À®Í×ÁÇ [#h502241d]
¡¡¤Þ¤º¤Ï¥Ù¡¼¥¹¤È¤Ê¤ë¥×¥í¥¸¥§¥¯¥È¤òÍÑ°Õ¤·¤Þ¤¹¡£°Ê²¼¤ÎÍͤË...
-Project Name¤Ë¡ÖFFind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Application Name¤Ë¡ÖFFind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Package Name¤Ë¡Öcom.beatcraft.ffind¡×¤ÈÆþÎϤ·¤Þ¤¹
-Create Activity¤Ë¥Á¥§¥Ã¥¯¤òÆþ¤ì¡¢¡ÖFFindActivity¡×¤ÈÆþÎÏ...
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥×¥í¥¸¥§¥¯¥È¤ÏÂ礤¯Ê¬¤±¤Æ°Ê²¼...
~
~
|LEFT:|CENTER:|c
|¡¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë&br;¡¡¢ Java¥½¡¼¥¹¥³¡¼¥É&br;¡¡£¥ê...
~
¡¡ºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤òPackage Explorer¤Ç³Îǧ¤·¤Ä¤Ä¡¢³Æ...
~
~
¡¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¡ÊAndroidManifest.xml¡Ë~
¡¡¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î̾Á°¤ä¥Ð¡¼¥¸¥ç¥ó¡¢¤É¤Î¤è¤¦¤Ê²èÌÌ...
¡¡¥ê¥¹¥È2-1¤¬º£²ó¼«Æ°Åª¤ËºîÀ®¤µ¤ì¤¿¥Þ¥Ë¥Õ¥§¥¹¥È¥Õ¥¡¥¤¥ë¤Ç...
-¥ê¥¹¥È2-1
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/...
package="com.beatcraft.ffind"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FFindActivity" >
<intent-filter >
<action android:name="android.intent.act...
<category android:name="android.intent.c...
</intent-filter>
</activity>
</application>
</manifest>
~
¡¡applicationÍ×ÁǤÎandroid:icon°À¤¬¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó...
¡¡¤½¤ì¤¾¤ì¤Î°À¤ÎÆâÍƤϡ¢¸å½Ò¤¹¤ë¥ê¥½¡¼¥¹¤ò ¡Ödrawable/i...
¡¡activityÍ×ÁǤˤϤ³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ë´Þ¤Þ¤ì¤ë¥¢¥¯¥Æ¥£...
¡¡activityÍ×ÁÇÆâ¤Ë¤¢¤ëintent-filterÍ×ÁǤˤϡ¢¥¢¥¯¥Æ¥£¥Ó¥Æ...
¡¡¤³¤Î¥Þ¥Ë¥Õ¥§¥¹¥È¤Ç¤Ï¡¢FFindActivity¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤¬¤³¤Î...
~
~
¢Java¥½¡¼¥¹¥³¡¼¥É~
¡¡¤³¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¹½À®¤¹¤ë¥½¡¼¥¹¥³¡¼¥É¤Ç¡¢Package E...
-¥ê¥¹¥È2-2 FFindActivity.java : 
package com.beatcraft.ffind;
import android.app.Activity;
import android.os.Bundle;
public class FFindActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
~
¡¡FFindActivity.java¡Ê¥ê¥¹¥È2-2¡Ë¤ÎonCreate¥á¥½¥Ã¥É¤Ï¡¢FF...
¡¡setContentView¥á¥½¥Ã¥É¤Î°ú¿ô¤ËÅϤ·¤Æ¤¤¤ë¡ÖR.layout.main...
~
~
£¥ê¥½¡¼¥¹~
¡¡¥ê¥½¡¼¥¹¤Ë¤Ï¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç»ÈÍѤµ¤ì¤ëʸ»úÎó¤ä²èÁü¡¢...
¡¡drawable¤Ë¤Ï²èÁü¥Õ¥¡¥¤¥ë¤Ê¤É¤ÎÉÁ²è²Äǽ¤Ê¥ê¥½¡¼¥¹¤¬ÃÖ¤«...
¡¡¤É¤Î´Ä¶¤Ç¤âƱ¤¸Êª¤ò»ÈÍѤ¹¤ë¾ì¹ç¤Ï¡¢¥µ¥Õ¥£¥Ã¥¯¥¹¤òÉÕ¤±...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Îandroid:icon°À¤Ç»ØÄꤷ¤¿¡Ö@drawable/ic_...
¡¡layout¤Ë¤Ï¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î²èÌ̥쥤¥¢¥¦¥È¤òµ½Ò¤·¤¿XML¥Õ...
¡¡FFindActivity.java¤ÎsetContentView¥á¥½¥Ã¥É¤Ç»ØÄꤷ¤¿¡ÖR...
¡¡values¤Ë¤Ïʸ»úÎó¤äÎóµó¤È¤¤¤Ã¤¿¡¢ÍÍ¡¹¤ÊÃͤòÄêµÁ¤·¤¿XML¥Õ...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Îandroid:label°À¤Ç»ØÄꤷ¤¿¡Ö@string/app_...
¡¡¥ê¥½¡¼¥¹¤Ï¥ê¥½¡¼¥¹ID¤Ë¤è¤Ã¤Æ¥Þ¥Ë¥Õ¥§¥¹¥È¤äJava¥½¡¼¥¹¥³...
-XML¥Õ¥¡¥¤¥ë¤«¤é»²¾È¤¹¤ë¾ì¹ç :
--@¥ê¥½¡¼¥¹¼ïÊÌ/¥ê¥½¡¼¥¹Ì¾
-Java¥½¡¼¥¹¥³¡¼¥É¤«¤é»²¾È¤¹¤ë¾ì¹ç :
--R.¥ê¥½¡¼¥¹¼ïÊÌ.¥ê¥½¡¼¥¹Ì¾
~
~
¡¡drawable¤Èlayout¤Ï¤½¤Î¤Þ¤Þ¥ê¥½¡¼¥¹¼ïÊ̤Ȥʤꡢ¥ê¥½¡¼¥¹...
¡¡values¤Ë´Þ¤Þ¤ì¤ëXML¥Õ¥¡¥¤¥ë¤Î¥ê¥½¡¼¥¹¼ïÊ̤Ïvalues¤È¤Ï¤Ê...
¡¡¥Þ¥Ë¥Õ¥§¥¹¥È¤Ç»ØÄꤷ¤¿¡Ö@string/app_name¡×¤¬¥ê¥½¡¼¥¹ID...
-¥ê¥¹¥È2-3 strings.xml :
< xml version="1.0" encoding="utf-8" >
<resources>
<string name="hello">Hello World, FFindActivity!</st...
<string name="app_name">FFind</string>
</resources>
~
~
**2-2. ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¹½À®Í×ÁǤȥ쥤¥¢¥¦¥È [#nd08055e]
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î´é¤È¤Ê¤ë¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ï¡¢¥¢¥×...
¡¡¥Ó¥å¡¼¤ÏGUIÉôÉʤδðËܤȤʤë¤â¤Î¤Ç¡¢¥Ü¥¿¥ó¤ä¥Æ¥¥¹¥È¥Ü¥Ã...
¡¡¥ì¥¤¥¢¥¦¥È¤ÏGUIÉôÉʤò¤É¤Î¤è¤¦¤ËÇÛÃÖ¤¹¤ë¤«¤ò·èÄê¤Å¤±¤ë¥Ó...
-LinearLayout
--LinearLayout¤Ï¥Ó¥å¡¼¤òÅÐÏ¿¤·¤¿½çÈÖ¤Ëʤ٤ëɸ½àŪ¤Ê¥ì¥¤...
-RelativeLayout
--RelativeLayout¤Ï¥Ó¥å¡¼Æ±»Î¤ÎÇÛÃ֤˴ØÏ¢À¤ò¤â¤¿¤»¡¢¤½¤ì...
-TableLayout
--TableLayout¤Ïɽ·Á¼°¤Ë¥Ó¥å¡¼¤òÇÛÃÖ¤¹¤ë¥ì¥¤¥¢¥¦¥È¤Ç¤¹¡£
¡¡¤³¤Î¾¤Ë¤âÍÑÅӤ˱þ¤¸¤¿¤¤¤¯¤Ä¤«¤Î¥ì¥¤¥¢¥¦¥È¤¬Ä󶡤µ¤ì¤Æ...
~
~
**2-3. ¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥ì¥¤¥¢¥¦¥ÈºîÀ® [#c0a8843b]
¡¡¤³¤³¤«¤é¤ÏºîÀ®¤·¤¿¥×¥í¥¸¥§¥¯¥È¤ò¤â¤È¤Ë¼ÂºÝ¤Î¥¢¥×¥ê¥±¡¼...
¡¡¿Þ2-2¤¬º£²ó¤Î¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î²èÌÌ¥¤¥á¡¼¥¸¤È¤Ê¤ê¤Þ¤¹¡£
CENTER:&ref(./02_02.png,);
CENTER:¿Þ2-2~
~
~
¡¡Eclipse¤ÎPackage Explorer¤«¤émain.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·...
CENTER:&ref(./02_03.png,);
CENTER:¿Þ2-3~
~
~
¡¡¥µ¥ó¥×¥ë¥×¥í¥¸¥§¥¯¥È¤Ç¤Ï¡ÖHello World, FFindActivity!¡×...
¡¡Â³¤¤¤Æº¸Éô¤ÎPalette¤«¤éLayouts¤ò¥¯¥ê¥Ã¥¯¤·¤ÆŸ³«¤·¡¢Lin...
¡¡¼¡¤Ë¤³¤Î¥ì¥¤¥¢¥¦¥È¤Ë¥¡¼¥ï¡¼¥É¤òÆþÎϤ¹¤ë¥Æ¥¥¹¥È¥Ü¥Ã¥¯...
¢¨Properties¤¬É½¼¨¤µ¤ì¤Æ¤¤¤Ê¤¤¾ì¹ç¡¢Eclipse¤Î¥á¥Ë¥å¡¼¤«¤é...
-Id¤Ë¡Ö@+id/FindTarget¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout weight¤Ë¡Ö1¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout width¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Single line¤Ë¡Ötrue¡×¤ò»ØÄꤷ¤Þ¤¹¡£
~
¡¡Id¤ËÆþÎϤ·¤¿ÆâÍƤϤ³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Î¥ê¥½¡¼¥¹ID¤Ë¤Ê...
¡¡Layout height¤ÈLayout width¤Ï¤³¤Î¥Ó¥å¡¼¤Î¹â¤µ¤ÈÉý¤ò·èÄê...
¡¡Layout weight¤Ï¿Æ¥Ó¥å¡¼Æâ¤Ç»ÈÍѲÄǽ¤ÊÎΰè¤ò¤É¤ÎÄøÅ٤νÅ...
¡¡Single line¤òtrue¤Ë¤¹¤ë¤È¡¢¤³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ë¤ÏÊ£¿ô...
¡¡°ú¤Â³¤¸¡º÷¥Ü¥¿¥ó¤òÄɲä·¤Þ¤¹¡£º¸Éô¤ÎPalette¤«¤éForm W...
-Id¤Ë¡Ö@+id/FindButton¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Text¤Ë¡Ö@string/find_button¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout weight¤ò¶õ¤Ë¤·¤Þ¤¹¡£
-Layout width¤Ë¡Öwrap_content¡×¤ò»ØÄꤷ¤Þ¤¹¡£
¡¡Layout weight¤ò¶õ¤Ë¤¹¤ë¤³¤È¤Ç¤³¤Î¥Ü¥¿¥ó¤Ïɽ¼¨¤Ë¤ê¤ë¤À...
¡¡Text°À¤Ï¤³¤Î¥Ü¥¿¥ó¤Ëɽ¼¨¤¹¤ë¥é¥Ù¥ë¤Îʸ»úÎó¤ò»ØÄꤷ¤Þ...
¡¡Package Explorer¤«¤éstrings.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤...
-¥ê¥¹¥È2-4 strings.xml :
< xml version="1.0" encoding="utf-8" >
<resources>
<string name="app_name">FFind</string>
<string name="find_button">¸¡º÷</string>
</resources>
~
¡¡ºÇ¸å¤Ë¸¡º÷·ë²Ì¤òɽ¼¨¤¹¤ë¥Ó¥å¡¼¤òÄɲä·¤Þ¤¹¡£ËÜÍèɽ¼¨ÍÑ...
-Id¤Ë¡Ö@+id/Result¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout width¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Editable¤Ë¡Öfalse¡×¤òÀßÄꤷ¤Þ¤¹¡£
¡¡Layout height/Layout width¤Ëfill_parent¡ÊAPI level 8°Ê...
¡¡¤³¤Î¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤Ï·ë²Ìɽ¼¨¤ò¹Ô¤¦¤À¤±¤Î¤â¤Î¤Ê¤Î¤Ç¡¢E...
¡¡¤³¤³¤Þ¤Ç¤ÇOutline¤Ï°Ê²¼¤Î¤è¤¦¤Ë¤Ê¤Ã¤Æ¤¤¤ë¤Ï¤º¤Ç¤¹¡£¿Æ»Ò...
¡¡¡¦LinearLayout~
¡¡¡¡¡¦linearLayout1~
¡¡¡¡¡¡¡¦FindTarget~
¡¡¡¡¡¡¡¦FindButton~
¡¡¡¡¡¦Result
¡¡°Ê¾å¤Ç¥ì¥¤¥¢¥¦¥ÈºîÀ®¤Ï´°Î»¤Ç¤¹¡£¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ò¼Â¹Ô...
~
~
**2-4. ¸¡º÷½èÍý¤Î¼ÂÁõ [#hf8cfb80]
¡¡¤³¤³¤«¤é¤ÏAndroid¤Î¥Õ¥¡¥¤¥ë¥·¥¹¥Æ¥à¤òÁöºº¤·¡¢»ØÄê¤Î¥¡¼...
¡¡Package Explorer¤ÇFFindActivity.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·...
-¥ê¥¹¥È2-5 :
private void listFile(String target, String folder, Arra...
File f = new File(folder);
File fl[] = f.listFiles();
if (fl != null) {
for (int i = 0; i < fl.length; ++i) {
if (list.size() == 5000) {
break;
}
File tmp = fl[i];
String name = tmp.getName();
if (name.contains(target) == true) {
list.add(name);
}
if (tmp.isDirectory() == true) {
try {
String c = tmp.getAbsolutePath();
if (c.equals(tmp.getCanonicalPat...
if (c != null) {
listFile(target, c, list);
} ...
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
~
¡¡¤³¤Î¥á¥½¥Ã¥É¤Ïfolder¤Ç»ØÄꤵ¤ì¤¿¥Õ¥©¥ë¥À¤Î¥Õ¥¡¥¤¥ë°ìÍ÷...
¡¡isDirectory¥á¥½¥Ã¥É¤Ç¥Õ¥©¥ë¥À¤Ç¤¢¤ë¤«¤É¤¦¤«¤ò¥Á¥§¥Ã¥¯¤·...
¡¡¤³¤³¤Ç»ÈÍѤ·¤Æ¤¤¤ëFile¥¯¥é¥¹¤ÈArrayList¥¯¥é¥¹¤òÍøÍѲÄǽ...
import java.io.File;
import java.util.ArrayList;
¡¡¼¡¤Ë¡¢¸¡º÷·ë²Ì¤ò³ÊǼ¤¹¤ë¤¿¤á¡¢onCreate¥á¥½¥Ã¥É¤ÎľÁ°¤Ç...
private ArrayList<String> mList;
¡¡onCreate¤ÎsetContentView¸Æ¤Ó½Ð¤·¸å¤Ë¤³¤ÎÇÛÎó¥ê¥¹¥È¤òÀ¸...
-¥ê¥¹¥È2-6 :
mList = new ArrayList<String>();
Button button = (Button) findViewById(R.id.FindButton);
if (button != null) {
button.setOnClickListener(new View.OnClickListener(...
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.F...
String target = text.getText().toStri...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
String tmp = "";
for (int i = 0; i < mList.siz...
tmp += mList.get(i) + "\n";
}
text = (EditText) findViewByI...
text.setText(tmp);
}
}
}
}
});
}
~
¡¡findViewById¥á¥½¥Ã¥É¤Ï¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ä¥Ó¥å¡¼¤¬»ý¤Ã¤Æ¤¤...
¡¡¥Ü¥¿¥ó¤Î¼èÆÀ¤ËÀ®¸ù¤·¤¿¾ì¹ç¡¢setOnClickListener¥á¥½¥Ã¥É...
¡¡onClick¤¬¼ÂºÝ¤Ë¥Ü¥¿¥ó¤Î½èÍý¤ò¼ÂÁõ¤¹¤ë¥á¥½¥Ã¥É¤Ë¤Ê¤ê¤Þ¤¹...
¡¡¸¡º÷½èÍý¤Ç¤ÏFindTarget¥Æ¥¥¹¥È¥Ü¥Ã¥¯¥¹¤«¤égetText¥á¥½¥Ã...
¡¡ºÇ¸å¤Ë·ë²Ì¥ê¥¹¥È¤ÎÆâÍƤò¥Á¥§¥Ã¥¯¤·¡¢¶õ¤Ç¤Ê¤±¤ì¤Ð¥ê¥¹¥È...
¡¡°Ê¾å¤Ç¼ÂÁõ¤Ï´°Î»¤Ç¤¹¡£Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦¡£
~
~
**2-5. ANRÌäÂê¤È¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Î¥Þ¥ë¥Á¥¹¥ì¥Ã¥É²½ [#y84b...
¡¡Á°¹à¤Ç´°À®¤·¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤Ç¤¹¤¬¡¢¸¡º÷·ë²Ì¤¬Â¿¤¯¤Ê...
CENTER:&ref(./02_04.png,);
CENTER:¿Þ2-4~
~
~
¡¡¤³¤ì¤ÏANR¡ÊApplication Not Responding¡Ë¤È¸Æ¤Ð¤ì¡¢Androi...
¡¡Android¥¢¥×¥ê¥±¡¼¥·¥ç¥ó¤ÏÄ̾Æä˲¿¤â°Õ¼±¤»¤º¤ËºîÀ®¤·...
¡¡Android¤Ï¸µ¡¹¥¹¥Þ¡¼¥È¥Õ¥©¥óÍѤÎOS¤È¤·¤Æ³«È¯¤µ¤ì¤¿¤¿¤á¡¢...
¡¡¤Þ¤¿¥¢¥×¥ê¥±¡¼¥·¥ç¥óñÂΤǹͤ¨¤Æ¤â¡¢¥á¥¤¥ó¥¹¥ì¥Ã¥É¤Ë»þ...
¡¡¤³¤¦¤·¤¿ÌäÂê¤òÈò¤±¤ë¤¿¤á¡¢»þ´Ö¤Î¤«¤«¤ë½èÍý¤Ï¥á¥¤¥ó¥¹¥ì...
-¥ê¥¹¥È2-7 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
Thread t = new Thread() {
@Override
public void run() {
EditText text;
text = (EditText) findViewById(R.id.Fin...
String target = text.getText().toString...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
String tmp = "";
for (int i = 0; i < mList.size(...
tmp += mList.get(i) + "\n";
}
text = (EditText) findViewById(...
text.setText(tmp);
}
}
}
};
t.start();
}
}
~
¡¡onClick¤ÇFindButton¤«¤É¤¦¤«³Îǧ¤·¤¿¸å¡¢Thread¥¯¥é¥¹¤Î¥ª...
¡¡»þ´Ö¤Î¤«¤«¤ë½èÍý¤¬ÊÌ¥¹¥ì¥Ã¥É¤Ë°ÜÆ°¤·¤¿¤¿¤á¡¢¸¡º÷¥Ü¥¿¥ó...
CENTER:&ref(./02_05.png,);
CENTER:¿Þ2-5~
~
~
¡¡»þ´Ö¤Î¤«¤«¤ë½èÍý¤ÏÊÌ¥¹¥ì¥Ã¥É¤Ç¹Ô¤ï¤»¤Ä¤Ä¡¢½èÍý¤¬´°Î»¤·...
¡¡Handler¥¯¥é¥¹¤òÍøÍѲÄǽ¤Ë¤¹¤ë¤¿¤á¡¢android.os.Bundle¤Î...
import android.os.Handler;
¡¡FFindActivity¤Îprivate¥á¥ó¥Ð¤Ë·ë²Ìɽ¼¨ÍѤÎString¤ÈHandl...
private String mResult;
private Handler mHandler = new Handler();
¡¡onClick¤Î¤¦¤ÁUI¤òÁàºî¤¹¤ëɬÍפ¬¤¢¤ë²Õ½ê¤ò½¤Àµ¤·¤Þ¤¹¡Ê¥ê...
-¥ê¥¹¥È2-8 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
Thread t = new Thread() {
@Override
public void run() {
EditText text;
text = (EditText) findViewById(R.id.Fin...
String target = text.getText().toString...
if (target.equals("") != true) {
mList.clear();
listFile(target, "/", mList);
if (mList.size() > 0) {
mResult = "";
for (int i = 0; i < mList.size(...
mResult += mList.get(i) + ...
}
mHandler.post(new Runnable() {
@Override
public void run() {
EditText text = (EditTex...
text.setText(mResult);
}
});
}
}
}
};
t.start();
}
}
~
¡¡¸¡º÷·ë²Ì¤Î¥µ¥¤¥º¤ò³Îǧ¤·¤¿¸å¡¢¥ê¥¹¥ÈÆâ¤Î¥Ç¡¼¥¿¤ò·ë²Ìɽ...
¡¡¤³¤ì¤Ç»þ´Ö¤Î¤«¤«¤ë¸¡º÷½èÍý¤òÊÌ¥¹¥ì¥Ã¥É¤ËÄɤ¤½Ð¤·¡¢¸¡º÷...
**2-6. AsyncTask¤Ë¤è¤ë¥Þ¥ë¥Á¥¹¥ì¥Ã¥É½èÍý [#mf2fe384]
¡¡Á°¹à¤Ç¤ÏThread¤ÈHandler¤ò»ÈÍѤ·¤Æ»þ´Ö¤Î¤«¤«¤ë½èÍý¤ò¥á¥¤...
¡¡AsyncTask¤Ë¤Ï¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É¤Ç¹Ô¤¦É¬Íפ¬¤¢¤ë½èÍý¤ò¼ÂÁõ...
-onPreExecute
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î¼Â¹ÔÁ°¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ëÁ°½èÍýÍѤΥá...
-doInBackground
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍýÍѤΥ᥽¥Ã¥É¤Ç¡¢¥á¥¤¥ó¥¹¥ì¥Ã¥É¤È¤Ï...
-onProgressUpdate
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î¿Ê¹Ô¾õ¶·¹¹¿·»þ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¥á¥½...
-onPostExecute
--¥Ð¥Ã¥¯¥°¥é¥¦¥ó¥É½èÍý¤Î´°Î»¸å¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¸å½èÍýÍѤΥá...
¡¡¤³¤³¤«¤é¤Ï¼ÂºÝ¤ËAsyncTask¤Î¥µ¥Ö¥¯¥é¥¹¤òºîÀ®¤·¡¢FFind¤Ë...
CENTER:&ref(./02_06.png,);
CENTER:¿Þ2-6~
~
~
¡¡¿Þ2-6¤Î¥À¥¤¥¢¥í¥°¤¬É½¼¨¤µ¤ì¤¿¤é¡¢Package¤Ë¡Öcom.beatcra...
¡¡Superclass¤ÎÍó¤ËÆþÎϤ·¤¿Ä̤ꡢAsyncTask¤Ï3¤Ä¤Î·¿¤ò»ØÄê...
¡¡ºîÀ®¤µ¤ì¤¿FindTask.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢¥á¥ó¥Ð...
-¥ê¥¹¥È2-9 :
private FFindActivity mActivity;
public FindTask(FFindActivity activity) {
mActivity = activity;
}
~
¡¡¸¡º÷½èÍý¤È·ë²Ì¤ÎÈ¿±Ç¤òFFindActivity¤Ç¹Ô¤¦¤¿¤á¡¢¤³¤ì¤òÊÝ...
¡¡Â³¤¤¤ÆdoInBackground¤Î½èÍý¤ò¼ÂÁõ¤·¤Þ¤¹¡Ê¥ê¥¹¥È2-10¡Ë¡£
-¥ê¥¹¥È2-10 :
@Override
protected Void doInBackground(String... arg0) {
String target = arg0[0];
mActivity.listFile(target);
return null;
}
~
¡¡doInBackground¤Î°ú¿ô¤Ï¥Æ¥ó¥×¥ì¡¼¥È¤Ç»ØÄꤷ¤¿·¿¤Î²ÄÊÑĹ...
¡¡°ú¤Â³¤onPostExecute¥á¥½¥Ã¥É¤ò¼ÂÁõ¤·¤Þ¤¹¡Ê¥ê¥¹¥È2-11¡Ë¡£
-¥ê¥¹¥È2-11 :
@Override
protected void onPostExecute(Void v) {
mActivity.result();
mActivity = null;
}
~
¡¡onPostExecute¤Ï¸¡º÷¤¬´°Î»¤·¤¿ºÝ¤Ë¸Æ¤Ó½Ð¤µ¤ì¤ë¤Î¤Ç¡¢FFin...
¡¡°Ê¾å¤ÇFindTask¤Î¼ÂÁõ¤Ï¤Ò¤È¤Þ¤º´°Î»¤Ç¤¹¡£Â³¤¤¤ÆFFindActi...
-¥ê¥¹¥È2-12 :
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.FindTarget);
String target = text.getText().toString();
if (target.equals("") == false) {
mList.clear();
FindTask task = new FindTask(FFindActivity...
task.execute(target);
}
}
}
~
¡¡¥¡¼¥ï¡¼¥É¤¬¶õ¤Ç¤Ê¤«¤Ã¤¿¾ì¹çFindTask¤òÀ¸À®¤·¡¢execute¥á...
¡¡FindTask¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ë¸¡º÷½èÍý¤È·ë²Ìɽ¼¨¤Î¥á¥½¥Ã¥É¤ò...
-¥ê¥¹¥È2-13 :
public void listFile(String target) {
listFile(target, "/", mList);
if (mList.size() > 0) {
mResult = "";
for (int i = 0; i < mList.size(); ++i) {
mResult += mList.get(i) + "\n";
}
}
}
public void result() {
if (mList.size() > 0) {
EditText text = (EditText) findViewById(R.id.Res...
text.setText(mResult);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toast.LENG...
}
}
~
¡¡FindTask¤ÎdoInBackground¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿listFile¥á¥½¥Ã...
¡¡FindTask¤ÎonPostExecute¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤¿result¥á¥½¥Ã¥É¤Ç...
¡¡¤Þ¤¿¡¢¸¡º÷·ë²Ì¤¬0·ï¤À¤Ã¤¿¾ì¹ç²¿¤âɽ¼¨¤·¤Ê¤¤¤Î¤Ï¤ï¤«¤ê¤Å...
¡¡¾°¡¢Toast¤Î»ÈÍѤˤÏandroid.widget.Toast¥Ñ¥Ã¥±¡¼¥¸¤Î¥¤¥ó...
~
CENTER:&ref(./02_07.png,);
CENTER:¿Þ2-7~
~
~
¡¡FFind¤ÎAsyncTask²½¤Ï¤³¤ì¤Ç´°Î»¤Ç¤¹¤¬¡¢¤è¤ê¤ï¤«¤ê¤ä¤¹¤¯...
¡¡FFindTask.java¤ò³«¤¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤Î¥Ñ¥Ã¥±¡¼¥¸...
import android.app.ProgressDialog;
¡¡¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ò¥á¥ó¥ÐÊÑ¿ô¤ËÄɲä·¤Þ¤¹¡£
private ProgressDialog mDialog;
¡¡onPreExecute¥á¥½¥Ã¥É¤òÄɲä·¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ÎÀ¸...
-¥ê¥¹¥È2-14 :
@Override
protected void onPreExecute() {
mDialog = new ProgressDialog(mActivity);
mDialog.setMessage(mActivity.getString(R.string.find...
mDialog.show();
}
~
¡¡¥À¥¤¥¢¥í¥°¤ÎsetMessage¥á¥½¥Ã¥É¤Ï¥À¥¤¥¢¥í¥°¤Ëɽ¼¨¤¹¤ë¥á...
¡¡onPostExecute¥á¥½¥Ã¥É¤ò½¤Àµ¤·¡¢¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤ò¾Ã...
-¥ê¥¹¥È2-15 :
@Override
protected void onPostExecute(Void v) {
mDialog.dismiss();
mDialog = null;
mActivity.result();
mActivity = null;
}
~
¡¡¥ê¥½¡¼¥¹¤Îstrings.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢°Ê²¼¤Îʸ...
<string name="find_progress">¸¡º÷Ãæ...</string>
¡¡°Ê¾å¤Ç½¤Àµ¤Ï´°Î»¤Ç¤¹¡£¸¡º÷Ãæ¤Ï¿Þ2-8¤Î¤è¤¦¤Ê¥À¥¤¥¢¥í¥°¤¬...
CENTER:&ref(./02_08.png,);
CENTER:¿Þ2-8~
~
~
¡¡¥×¥í¥°¥ì¥¹¥À¥¤¥¢¥í¥°¤Ï¸½ºß¤Î¿ÊĽ¾õ¶·¤ò¥Ð¡¼¤Ç¼¨¤¹¤Ê¤É¡¢...
~
~
**2-7. ¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤ÎÁ«°Ü [#v5875d61]
¡¡¤³¤³¤«¤é¤ÏFFind¤Î²þ½¤¤ò¹¹¤Ë¿Ê¤á¤Æ¡¢¸¡º÷·ë²Ì¤òÊÌ¥¢¥¯¥Æ¥£...
¡¡¤Þ¤º¤Ï·ë²Ìɽ¼¨ÍѤΥ¢¥¯¥Æ¥£¥Ó¥Æ¥£¤òÍÑ°Õ¤·¤Þ¤¹¡£Eclipse¤Î...
¡¡ºîÀ®¤µ¤ì¤¿ResultActivity.java¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤¡¢...
-¥ê¥¹¥È2-16 :
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
}
~
¡¡Â³¤¤¤Æ¤³¤Î¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Ç»ÈÍѤ¹¤ë¥ì¥¤¥¢¥¦¥È¡ÊR.layout....
CENTER:&ref(./02_09.png,);
CENTER:¿Þ2-9~
~
~
¡¡Â³¤¯"New Android Layout XML File"¤ÇFile¤Ë¡Öresult.xml¡×...
¡¡Package Explorer¤«¤éresult.xml¤ò¥À¥Ö¥ë¥¯¥ê¥Ã¥¯¤·¤Æ³«¤...
CENTER:&ref(./02_10.png,);
CENTER:¿Þ2-10~
~
~
¡¡ÇÛÃÖ¤·¤¿¥ê¥¹¥È¥Ó¥å¡¼¤Î¥×¥í¥Ñ¥Æ¥£¤ò°Ê²¼¤Î¤è¤¦¤ËÀßÄꤷ¤Þ...
-Id¤Ë¡Ö@+id/Result¡×¤ÈÆþÎϤ·¤Þ¤¹¡£
-Layout height¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
-Layout width¤Ë¡Öfill_parent¡×¤ò»ØÄꤷ¤Þ¤¹¡£
¡¡°Ê¾å¤ÇResult¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¥ì¥¤¥¢¥¦¥ÈºîÀ®¤Ï´°Î»¤Ç¤¹¡£O...
¡¡¡¦LinearLayout~
¡¡¡¡¡¦Result
¡¡Result¥¢¥¯¥Æ¥£¥Ó¥Æ¥£¤Î¼ÂÁõ¤ò¿Ê¤á¤ëÁ°¤Ë¡¢FFindActivity¤Î...
¡¡¼¡¤ËFFindActivity.java¤ò³«¤¡¢¸¡º÷¥Ü¥¿¥ó¤ò¥¯¥ê¥Ã¥¯¤µ¤ì...
-¥ê¥¹¥È2-17 :
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButton) {
EditText text;
text = (EditText) findViewById(R.id.FindTarget);
String target = text.getText().toString();
if (target.equals("") == false) {
Intent intent = new Intent(getApplicationCon...
com.beatcraft.ffind.ResultActivity.class);
intent.putExtra("Target", target);
startActivity(intent);
}
}
}
~
¡¡FindTask¤òÀ¸À®¤·¡¢¸¡º÷½èÍý¤ò¼Â¹Ô¤·¤Æ¤¤¤¿²Õ½ê¤¬Êѹ¹¤µ¤ì...
¡¡Â³¤¯putExtra¥á¥½¥Ã¥É¤Ç¤Ï¡¢¥¤¥ó¥Æ¥ó¥È¤òÁ÷¿®¤¹¤ëºÝ¤ËźÉÕ...
¡¡ºÇ¸å¤ËstartActivity¤Ç¥¤¥ó¥Æ¥ó¥È¤òÁ÷¿®¤·¡¢ResultActivity...
¡¡¤³¤ì¤Þ¤ÇFFindActivity¤Ç¹Ô¤Ê¤Ã¤Æ¤¤¤¿¸¡º÷½èÍý¤È·ë²Ìɽ¼¨¤Ï...
private ArrayList<String> mList;
public void listFile(String target)
public void result()
private void listFile(String target, String folder, Arra...
¡¡¤³¤ì¤ÇFFindActivity.java¤Î½¤Àµ¤Ï´°Î»¤Ç¤¹¡£Â³¤¤¤ÆResultA...
¡¡¤Þ¤º¤ÏonCreate¤ò½¤Àµ¤·¤Þ¤¹¡£setContentView¸Æ¤Ó½Ð¤·¤Î¤¢...
-¥ê¥¹¥È2-18 :
mList = new ArrayList<String>();
Intent intent = getIntent();
if (intent == null) {
finish();
}
String target = intent.getStringExtra("Target");
FindTask task = new FindTask(this);
task.execute(target);
~
¡¡ºÇ½é¤ËFFindActivity¤«¤é°ú¤·Ñ¤¤¤ÀArrayList¤ÎÀ¸À®¤ò¹Ô¤Ê...
¡¡getStringExtra¤Ï¥¤¥ó¥Æ¥ó¥È¤«¤éʸ»úÎ󥿥¤¥×¤ÎźÉեǡ¼¥¿...
¡¡FindTask¤«¤é¸Æ¤Ó½Ð¤µ¤ì¤ëlistFile¤Ïprivate¤ÎlistFile¥á¥½...
-¥ê¥¹¥È2-19 :
public void listFile(String target) {
listFile(target, "/", mList);
}
~
¡¡result¥á¥½¥Ã¥É¤Ç¤Ï·ë²Ì¤ÎÀßÄê¤òEditText¤«¤éListView¤Îʪ...
-¥ê¥¹¥È2-20 :
public void result() {
if (mList.size() > 0) {
ListView lv = (ListView) findViewById(R.id.Resul...
String sa[] = new String[mList.size()];
for (int i = 0; i < mList.size(); ++i) {
sa[i] = mList.get(i);
}
ArrayAdapter<String> adapter = new ArrayAdapter<...
android.R.layout.simple_list_item_1, sa);
lv.setAdapter(adapter);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toast.LENG...
}
}
~
¡¡ListView¤Ï¥¢¥À¥×¥¿¡¼¤È¸Æ¤Ð¤ì¤ë¥¯¥é¥¹¤Ç¥ê¥¹¥È¥Ç¡¼¥¿¤È·ë...
¡¡ArrayAdapter¤Ç¤Ï¥ê¥¹¥È¥Ó¥å¡¼¤Î³ÆÍ×Áǡʥꥹ¥È¥¢¥¤¥Æ¥à¡Ë...
¡¡ArrayList¤«¤éʸ»úÎóÇÛÎó¤òºîÀ®¤·¡¢¤³¤Î¥Ç¡¼¥¿¤ò¤â¤È¤ËºîÀ®...
¡¡ºÇ¸å¤ËFindTask.java¤ò³«¤¡¢FFindActivity¤È¤Ê¤Ã¤Æ¤¤¤ë²Õ...
¡¡»Ä¤ëºî¶È¤Ï¥Þ¥Ë¥Õ¥§¥¹¥È¤Î½¤Àµ¤Ç¤¹¡£Äɲä·¤¿ResultActivit...
-¥ê¥¹¥È2-21 :
<activity
android:label="@string/app_name"
android:name=".ResultActivity" >
</activity>
~
¡¡°Ê¾å¤ÇÁ´¤Æ¤Î½¤Àµ¤¬´°Î»¤·¤Þ¤·¤¿¡£Áᮼ¹Ԥ·¤Æ¤ß¤Þ¤·¤ç¤¦...
CENTER:&ref(./02_11.png,);
CENTER:¿Þ2-11~
~
~
**2-8. FFindÁ´¥½¡¼¥¹¥³¡¼¥É/XML¥Õ¥¡¥¤¥ë [#h2f70468]
-¥ê¥¹¥È2-22 FFindActivity.java :
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class FFindActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button button = (Button) findViewById(R.id.FindB...
if (button != null) {
button.setOnClickListener(new View.OnClickL...
@Override
public void onClick(View view) {
if (view.getId() == R.id.FindButt...
EditText text;
text = (EditText) findViewByI...
String target = text.getText(...
if (target.equals("") == fals...
Intent intent = new Inte...
com.beatcraft.ffind.R...
intent.putExtra("Target"...
startActivity(intent);
}
}
}
});
}
}
}
~
~
-¥ê¥¹¥È2-23 ResultActivity.java :
package com.beatcraft.ffind;
import java.io.File;
import java.util.ArrayList;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class ResultActivity extends Activity {
private ArrayList<String> mList;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
mList = new ArrayList<String>();
Intent intent = getIntent();
if (intent == null) {
finish();
}
String target = intent.getStringExtra("Target");
FindTask task = new FindTask(this);
task.execute(target);
}
public void listFile(String target) {
listFile(target, "/", mList);
}
public void result() {
if (mList.size() > 0) {
ListView lv = (ListView) findViewById(R.i...
String sa[] = new String[mList.size()];
for (int i = 0; i < mList.size(); ++i) {
sa[i] = mList.get(i);
}
ArrayAdapter<String> adapter = new ArrayA...
android.R.layout.simple_list_item_1,...
lv.setAdapter(adapter);
}
else {
Toast.makeText(this, "* NOT FOUND *", Toa...
}
}
private void listFile(String target, String folder, ...
File f = new File(folder);
File fl[] = f.listFiles();
if (fl != null) {
for (int i = 0; i < fl.length; ++i) {
if (list.size() == 5000) {
break;
}
File tmp = fl[i];
String name = tmp.getName();
if (name.contains(target) == true) {
list.add(name);
}
if (tmp.isDirectory() == true) {
try {
String c = tmp.getAbsolutePa...
if (c.equals(tmp.getCanonica...
if (c != null) {
listFile(target, c, ...
} ...
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
}
}
}
~
~
-¥ê¥¹¥È2-24 FindTask.java :
package com.beatcraft.ffind;
import android.app.ProgressDialog;
import android.os.AsyncTask;
public class FindTask extends AsyncTask<String, Integer,...
private ResultActivity mActivity;
private ProgressDialog mDialog;
public FindTask(ResultActivity activity) {
mActivity = activity;
}
@Override
protected void onPreExecute() {
mDialog = new ProgressDialog(mActivity);
mDialog.setMessage(mActivity.getString(R.strin...
mDialog.show();
}
@Override
protected Void doInBackground(String... arg0) {
String target = arg0[0];
mActivity.listFile(target);
return null;
}
@Override
protected void onPostExecute(Void v) {
mDialog.dismiss();
mDialog = null;
mActivity.result();
mActivity = null;
}
}
~
~
-¥ê¥¹¥È2-25 main.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/...
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<EditText
android:id="@+id/FindTarget"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:singleLine="true" >
<requestFocus />
</EditText>
<Button
android:id="@+id/FindButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/find_button" />
</LinearLayout>
</LinearLayout>
~
~
-¥ê¥¹¥È2-26 result.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/...
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ListView
android:id="@+id/Result"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
</ListView>
</LinearLayout>
~
~
-¥ê¥¹¥È2-27 AndroidManifest.xml :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/...
package="com.beatcraft.ffind"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk android:minSdkVersion="8" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:label="@string/app_name"
android:name=".FFindActivity" >
<intent-filter >
<action android:name="android.intent.act...
<category android:name="android.intent.c...
</intent-filter>
</activity>
<activity
android:label="@string/app_name"
android:name=".ResultActivity" >
</activity>
</application>
</manifest>
----
RIGHT:ÆâÆ£
¥Ú¡¼¥¸Ì¾:
BC::labs¤Ø¤Î¼ÁÌä¤Ï¡¢bc9-dev ¡÷ googlegroups.com¡¡¤Þ¤Ç¤ª´ê¤¤Ãפ·¤Þ¤¹¡£