我有以下方法来确定文件大小:
public static long getSize(String path) {
File file = new File(path);
if (file.exists()) {
long size = file.length();
return size;
} else {
Log.e("zero size", "the file size is zero!");
return 0;
}
Run Code Online (Sandbox Code Playgroud)
现在我想显示一个包含以下方法的对话框(代码未完成):
public void gimmeDialog(String path_to_file) {
final Dialog dialog = new Dialog(this);
dialog.setContentView(R.layout.dialog);
dialog.setTitle("Confirm");
TextView text = (TextView) dialog.findViewById(R.id.txtUploadInfo);
Button dialogButtonOK = (Button) dialog.findViewById(R.id.btnDialogOK);
long uploadSize = Send.getSize(path_to_file) / 1024 / 1024;
text.setText("You are about to upload "
+ Long.toString(uploadSize)
+ " MB. You must accept …Run Code Online (Sandbox Code Playgroud) 我是Android的传感器使用新手,现在有点困惑.我只有在发生明显的光线变化时才需要执行某些操作,例如在暗室中打开灯光.到目前为止,我有一个非常简单的默认实现.我怎么能告诉系统我只想对重大的光变化作出反应?
public class MainActivity extends Activity implements SensorEventListener {
private SensorManager mSensorManager;
private Sensor mLight;
private RelativeLayout mLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);
mLight = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
mLayout = (RelativeLayout) findViewById(R.id.mLayout);
mLayout.setKeepScreenOn(true);
}
@Override
protected void onResume() {
mSensorManager.registerListener(this, mLight,
SensorManager.SENSOR_DELAY_FASTEST);
super.onResume();
}
@Override
protected void onPause() {
mSensorManager.unregisterListener(this);
super.onPause();
}
@Override
public void onAccuracyChanged(Sensor sensor, int accuracy) {
if (sensor.getType() == Sensor.TYPE_LIGHT) {
// TODO
}
}
@Override
public void onSensorChanged(SensorEvent event) { …Run Code Online (Sandbox Code Playgroud) 在使用 Android 文件系统时,我可能注意到一个我无法真正向自己解释的问题。使用File.renameTo()or更改图像File.delete()(无论图像是否有任何Exif数据)会产生以下结果(上面提到的方法返回true):
File.renameTo():图库仍然通过详细信息显示旧名称,并且下面发布的方法也返回一个空缩略图(当然,因为路径指向应该删除的文件)File.delete():图像已从文件系统中消失(许多经过测试的文件浏览器都不再显示它并new File(pathToDeletedImage).exists()返回false),但图库仍然显示该图像,包括。所有细节问题:我是否需要以某种方式通知图库有关我刚刚对图像文件执行的更改?
我用来获取缩略图的方法:
private Bitmap getThumbnail(ContentResolver cr, String path)
throws Exception {
Cursor ca = cr.query(MediaStore.Images.Media.EXTERNAL_CONTENT_URI,
new String[] { MediaStore.MediaColumns._ID },
MediaStore.MediaColumns.DATA + "=?", new String[] { path },
null);
if (ca != null && ca.moveToFirst()) {
int id = ca.getInt(ca.getColumnIndex(MediaStore.MediaColumns._ID));
ca.close();
return MediaStore.Images.Thumbnails.getThumbnail(cr, id,
MediaStore.Images.Thumbnails.MICRO_KIND, null);
}
ca.close();
return null;
}
Run Code Online (Sandbox Code Playgroud)
更新
好吧,我发现我们需要将所有文件更改与文件系统同步。我的猜测是,类似File.delete()和 的操作File.renameTo()在 Linux 级别上工作,但上面也有 …
我仍在寻找一种方法来根据其当前值更改ListPreference的摘要.经过一些研究,我设法得到它(部分)工作:
ListPreference pref = (ListPreference) findPreference("Repeat_PREFS");
pref.setOnPreferenceChangeListener(new OnPreferenceChangeListener() {
public boolean onPreferenceChange(Preference preference, Object val) {
ListPreference pref = (ListPreference) findPreference("Repeat_PREFS");
pref.setSummary(pref.getEntry());
return true;
}
});
Run Code Online (Sandbox Code Playgroud)
问题是,当我第一次选择值时,摘要会更改为其他值或根本不会更改.当我第二次选择相同的值时,会正确设置摘要.我究竟做错了什么?
任何默认的 ProgressBar 都有一个 ClipDrawable 级别,例如,在我的设备上,绿色的 Drawable 填充灰色背景,而在其他一些设备上则填充黄色。

我的问题:当进度小于最大值时,是否可以创建一个没有(部分)空背景的进度条,或者我应该使用 ImageView 来代替?我只需要 ClipDrawable 来更改其宽度,使其看起来像一个图表,而灰色背景永远不会出现。
我试图通过WebView在一些示例中使用和格式化带有HTML的String资源来证明文本是正确的:
<string name="dTxt">
<html>
<head></head>
<bodystyle text-align:justify=""><body> Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nunc pellentesque, urna nec hendrerit pellentesque, risus massa </body>
</bodystyle>
</html>
</string>
Run Code Online (Sandbox Code Playgroud)
ADT拒绝解析Strings文档,但有以下错误:
W/ResourceType( 2612): Bad XML block: header size 296 or total size 6144712 is larger than data size 0
Run Code Online (Sandbox Code Playgroud)
这有什么不对?
我有一个Activity扩展AppCompatActivity并使用支持ActionBar.编译SDK版本为23,测试设备SDK为21-22.然而,我需要获得这个ActionBar标题TextView,这是最着名的方式
int resId = getResources().getIdentifier("action_bar_title", "id", "android");
return (TextView) findViewById(resId);
Run Code Online (Sandbox Code Playgroud)
从API 21开始不起作用.有没有办法TextView在Lollipop上引用标题?
我使用jsPDF和创建基于表格的PDF文档AutoTable:
var doc = new jsPDF('p', 'pt');
//columns and rows are arrays created from the table content
doc.autoTable(columns, rows, {
drawRow: function (row) {
if (row.index == rows.length - 1) {
console.log('last row');
//TODO
}
},
pageBreak: 'avoid',
headerStyles: {
fillColor: [239, 154, 154],
textColor: [0, 0, 0],
halign: 'center'
},
bodyStyles: {
halign: 'center'
},
margin: {top: 60},
theme: 'striped'
});
doc.save('table.pdf');
Run Code Online (Sandbox Code Playgroud)
我要做的是为最后一个表行设置不同的背景颜色.如上面的代码所示,我可以检测何时绘制最后一行,但是我无法修改它.我试过设置row.fillColor使用RGB值,这似乎没有任何影响.
我也看了一下这些例子,但在这个问题上找不到任何可以帮助我的东西.有任何想法吗?
我需要执行以下检查:
如果myString.contains()
除此以外的任何字符
字母az,AZ,"_"," - ",数字0-9
然后 .....
什么是这种检查的正确java语法?
问题:我在开发一个Android应用程序时使用了很多图标和图片,后来我更换了许多图标和图片,但保留了旧版本以防万一我需要再次使用它们.现在我在我的文件夹中有大量的.png drawable,现在很多都没有使用,手动排序需要很长时间.有没有办法检测没有参考的drawables?
android ×8
android-file ×1
android-xml ×1
dialog ×1
eclipse ×1
filesystems ×1
java ×1
javascript ×1
jspdf ×1
preferences ×1
progress-bar ×1
summary ×1