可能重复:
文件夹或文件的大小
我用这段代码来实例化一个File对象:
File f = new File(path);
Run Code Online (Sandbox Code Playgroud)
如何获取此文件的大小?
是什么区别getUsableSpace(),getTotalSpace()和getFreeSpace()?
我使用EditText输入密码.还有一个CheckBox来显示密码.以下功能是部分:
public void ShowPassword() {
if (cb.isChecked()) {
password.setInputType(InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD);
} else {
password.setInputType(InputType.TYPE_TEXT_VARIATION_PASSWORD);
}
}
Run Code Online (Sandbox Code Playgroud)
检查时,显示密码.但是当它没有被检查时,它确实显示了星星.如何在未选中cb的情况下修改它以显示星标?
我创建了一个线程来更新我的数据并尝试notifyDataSetChanged在我的ListView上进行.
private class ReceiverThread extends Thread {
@Override
public void run() {
//up-to-date
mAdapter.notifyDataSetChanged();
}
Run Code Online (Sandbox Code Playgroud)
错误发生在行:
mAdapter.notifyDataSetChanged();
Run Code Online (Sandbox Code Playgroud)
错误:
12-29 16:44:39.946:E/AndroidRuntime(9026):android.view.ViewRoot $ CalledFromWrongThreadException:只有创建视图层次结构的原始线程才能触及其视图.
我应该如何修改它?
我的代码如下:
String[] columns = {ContactsContract.Contacts._ID, ContactsContract.Contacts.DISPLAY_NAME, ContactsContract.Contacts.HAS_PHONE_NUMBER};
Cursor cursor = getContentResolver().query(ContactsContract.Contacts.CONTENT_URI, columns, null, null, null);
int ColumeIndex_ID = cursor.getColumnIndex(ContactsContract.Contacts._ID);
int ColumeIndex_DISPLAY_NAME = cursor.getColumnIndex(ContactsContract.Contacts.DISPLAY_NAME);
int ColumeIndex_HAS_PHONE_NUMBER = cursor.getColumnIndex(ContactsContract.Contacts.HAS_PHONE_NUMBER);
while(cursor.moveToNext())
{
String id = cursor.getString(ColumeIndex_ID);
String name = cursor.getString(ColumeIndex_DISPLAY_NAME);
String has_phone = cursor.getString(ColumeIndex_HAS_PHONE_NUMBER);
if(!has_phone.endsWith("0"))
{
System.out.println(name);
GetPhoneNumber(id);
}
}
cursor.close();
public String GetPhoneNumber(String id)
{
String number = "";
Cursor phones = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI, null, ContactsContract.CommonDataKinds.Phone._ID + " = " + id, null, null);
if(phones.getCount() > 0)
{
while(phones.moveToNext())
{
number = phones.getString(phones.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER)); …Run Code Online (Sandbox Code Playgroud) 我使用此代码删除所有文件:
File root = new File("root path");
File[] Files = root.listFiles();
if(Files != null) {
int j;
for(j = 0; j < Files.length; j++) {
System.out.println(Files[j].getAbsolutePath());
System.out.println(Files[j].delete());
}
}
Run Code Online (Sandbox Code Playgroud)
它将删除false Files[j]文件夹的位置.
我想删除文件夹及其所有子文件.
我怎么修改这个?
我的上传代码如下:
String end = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
try {
URL url = new URL(ActionUrl);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setDoInput(true);
con.setDoOutput(true);
con.setUseCaches(false);
con.setRequestMethod("POST");
con.setRequestProperty("Connection", "Keep-Alive");
con.setRequestProperty("Accept", "text/*");
con.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
DataOutputStream ds = new DataOutputStream(con.getOutputStream());
ds.writeBytes(twoHyphens + boundary + end);
ds.writeBytes("Content-Disposition: form-data;" + "name=\"folder\"" + end + end);
ds.write(SavePath.getBytes("UTF-8"));
ds.writeBytes(end);
ds.writeBytes(twoHyphens + boundary + end);
ds.writeBytes("Content-Disposition: form-data;" + "name=\"Filedata\"; filename=\"");
ds.write(FileName.getBytes("UTF-8"));
ds.writeBytes("\"" + end);
ds.writeBytes(end);
FileInputStream fStream = new FileInputStream(uploadFilepath+""+FileName);
int bufferSize …Run Code Online (Sandbox Code Playgroud) 我有一个String数组.我想将其转换为字节数组.我使用Java程序.例如:
String str[] = {"aa", "55"};
Run Code Online (Sandbox Code Playgroud)
转换成:
byte new[] = {(byte)0xaa, (byte)0x55};
Run Code Online (Sandbox Code Playgroud)
我能做什么?
我使用下面的代码将字节转换为字符串:
System.out.println("string " + Byte.toString((byte)0x63));
Run Code Online (Sandbox Code Playgroud)
为什么打印"字符串99".如何修改让它打印"字符串c"?
我的活动包含此代码以获取SD卡上的所有图像:
String[] projection = {MediaStore.Images.Media._ID,
MediaStore.Images.Media.DATA,
MediaStore.Images.ImageColumns.DATA};
Cursor cursor = managedQuery(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
projection, null, null,
MediaStore.Images.Media._ID);
int count = cursor.getCount();
int image_path_index = cursor.getColumnIndex(MediaStore.Images.Media.DATA);
int i;
for(i = 0; i < count; i++) {
cursor.moveToPosition(i);
String p = cursor.getString(image_path_index);
fd.addToPhonePhoto(p);
}
cursor.close();
Run Code Online (Sandbox Code Playgroud)
活动恢复时发生的事件:
03-14 14:06:48.380:E/AndroidRuntime(20793):java.lang.RuntimeException:无法恢复活动{}:java.lang.RuntimeException:无法恢复活动{}:android.database.StaleDataException:Attempted to关闭后访问游标.
它只发生在Android 4.0上.如果在Android 2.x或3.x上,它可以正常工作.但是,如果我更改了在"开发者选项"中选择"不保留活动"选项的系统设置.错误未显示.
我想修改我的代码以避免此错误而不更改系统设置.我该怎么办?
我有一个LinearLayout设置高度为match_parent,如下所示:
<LinearLayout
android:id="@+id/list_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
Run Code Online (Sandbox Code Playgroud)
我想得到这个LinearLayout的高度.
我使用下面的代码:
LinearLayout ll_list = (LinearLayout)findViewById(R.id.list_layout);
int h = ll_list.getHeight();
Run Code Online (Sandbox Code Playgroud)
但它返回null.
我能怎么做?