小编bri*_*ian的帖子

如何在Java中获取文件大小

可能重复:
文件夹或文件的大小

我用这段代码来实例化一个File对象:

File f = new File(path);
Run Code Online (Sandbox Code Playgroud)

如何获取此文件的大小?

是什么区别getUsableSpace(),getTotalSpace()getFreeSpace()

java

118
推荐指数
3
解决办法
23万
查看次数

使用EditText显示密码

我使用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的情况下修改它以显示星标?

android android-edittext

28
推荐指数
4
解决办法
4万
查看次数

如何在线程中使用notifyDataSetChanged()

我创建了一个线程来更新我的数据并尝试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:只有创建视图层次结构的原始线程才能触及其视图.

我应该如何修改它?

android listview android-listview

27
推荐指数
2
解决办法
2万
查看次数

如何在Android中获取联系人的电话号码

我的代码如下:

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)

android cursor

26
推荐指数
2
解决办法
7万
查看次数

如何删除Android上一个文件夹中的所有文件和文件夹

我使用此代码删除所有文件:

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]文件夹的位置.

我想删除文件夹及其所有子文件.
我怎么修改这个?

java file-io android

26
推荐指数
5
解决办法
5万
查看次数

在Android中上传大文件而不会出现内存错误

我的上传代码如下:

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)

upload android out-of-memory httpurlconnection

25
推荐指数
1
解决办法
3万
查看次数

如何在Java中将十六进制字符串转换为字节值

我有一个String数组.我想将其转换为字节数组.我使用Java程序.例如:

String str[] = {"aa", "55"};
Run Code Online (Sandbox Code Playgroud)

转换成:

byte new[] = {(byte)0xaa, (byte)0x55};
Run Code Online (Sandbox Code Playgroud)

我能做什么?

java hex byte

22
推荐指数
4
解决办法
15万
查看次数

在Java中将字节转换为字符串

我使用下面的代码将字节转换为字符串:

System.out.println("string " + Byte.toString((byte)0x63));
Run Code Online (Sandbox Code Playgroud)

为什么打印"字符串99".如何修改让它打印"字符串c"?

java

20
推荐指数
4
解决办法
10万
查看次数

无法恢复活动错误

我的活动包含此代码以获取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上,它可以正常工作.但是,如果我更改了在"开发者选项"中选择"不保留活动"选项的系统设置.错误未显示.

我想修改我的代码以避免此错误而不更改系统设置.我该怎么办?

android cursor android-4.0-ice-cream-sandwich

12
推荐指数
1
解决办法
1万
查看次数

如何获得LinearLayout的高度

我有一个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.
我能怎么做?

android android-linearlayout

12
推荐指数
1
解决办法
2万
查看次数