我用double(小数)得到了这个问题.
当double = 1.234567然后我用,String.format("%.3f", myString);
所以结果是1.234
但当我的双倍是10
结果将是10,000
我希望这是10
他们是否可以说他只需要在"有用"时显示小数?
我看到一些关于这个的帖子,但那是php或c#,找不到关于android/java的东西(也许我看起来不太好).
希望你们能帮我解决这个问题.
编辑,现在我使用这样的东西:myString.replace(",000", "");
但我认为他们是一个更"友好"的代码.
我遇到了一个奇怪的问题.我认为这会花费我几分钟,但我现在正在努力几个小时......这就是我得到的:
for (int i = 0; i < size; i++){
if (data.get(i).getCaption().contains("_Hardi")){
data.remove(i);
}
}
Run Code Online (Sandbox Code Playgroud)
该data是ArrayList.
在ArrayList中我得到了一些字符串(共14个左右),和他们的9,它得名_Hardi.
使用上面的代码我想删除它们.如果我replace data.remove(i);用a System.out.println然后打印9次,那么好,因为_Hardi在ArrayList中9次.
但是当我使用data.remove(i);它时它不会删除所有9个,而只删除少数几个.我做了一些测试,我也看到了这个:
当我将字符串重命名为:Hardi1 Hardi2 Hardi3 Hardi4 Hardi5 Hardi5 Hardi6
然后它只删除偶数(1,3,5等).他一直在跳过1,但无法弄清楚原因.
如何解决这个问题?或者可能是另一种方法来删除它们?
我上了这堂课:
import android.content.Context;
import android.media.MediaScannerConnection;
import android.net.Uri;
import android.util.Log;
public class MediaScannerWrapper implements
MediaScannerConnection.MediaScannerConnectionClient {
private MediaScannerConnection mConnection;
private String mPath;
private String mMimeType;
// filePath - where to scan;
// mime type of media to scan i.e. "image/jpeg".
// use "*/*" for any media
public MediaScannerWrapper(Context ctx, String filePath, String mime){
mPath = "/sdcard/DCIM/Camera";
mMimeType = "jpg";
mConnection = new MediaScannerConnection(ctx, this);
}
// do the scanning
public void scan() {
mConnection.connect();
}
// start the scan when scanner …Run Code Online (Sandbox Code Playgroud) 我正在尝试运行我从git获得的linphone代码://git.linphone.org/linphone-android.git --recursive.成功下载后,我尝试按照README文件编译并运行它.我使用Cygwin进行Autotools,Autoconfig,Automake,aclocal,libtoolize以及pkgconfig和Android ndk r8d.
然后我在cygwin中执行了prepare_sources.sh shell脚本,下载了一些所需的resuorces.
完成所有步骤后,当我尝试运行代码时,我在运行时和应用程序崩溃时遇到UnsatisfiedLinkError异常.
我还从logcat了解到一些库无法加载,因为上述异常发生并导致应用程序崩溃.这是Logcat输出:
02-26 10:03:55.739: W/Unable to load optional library lib(1084): avutil
02-26 10:03:55.749: W/Unable to load optional library lib(1084): swscale
02-26 10:03:55.759: W/Unable to load optional library lib(1084): avcore
02-26 10:03:55.769: W/dalvikvm(1084): Exception Ljava/lang/UnsatisfiedLinkError; thrown while initializing Lorg/linphone/core/LinphoneCoreFactoryImpl;
02-26 10:03:55.769: D/AndroidRuntime(1084): Shutting down VM
Run Code Online (Sandbox Code Playgroud)
================================================== ================================
02-26 10:03:55.769: W/dalvikvm(1084): threadid=1: thread exiting with uncaught exception (group=0x40a70930)
02-26 10:03:55.869: E/AndroidRuntime(1084): FATAL EXCEPTION: main
02-26 10:03:55.869: E/AndroidRuntime(1084): java.lang.ExceptionInInitializerError
02-26 …Run Code Online (Sandbox Code Playgroud) 我知道如何获得手机的当前GPS位置.我也知道如何在拍摄时将GPS位置保存到照片中.(相机选项三星galaxy s2).
但是如何才能获得该照片的GPS位置(稍后)?当我在电脑上打开照片时,我可以看到GPS位置数据,但不知道如何在android中提取它们.有人能让我朝着好的方向前进吗?更清楚地提出问题:如何获取已拍摄照片的GPS位置?
谢谢,Bigflow
我以编程方式将列添加到表中有些麻烦,也许我查找/搜索错误的关键字,但找不到合适的解决方案.
我得到了这段代码:
ScrollView sv = new ScrollView(this);
TableLayout ll=new TableLayout(this);
HorizontalScrollView hsv = new HorizontalScrollView(this);
TableRow tbrow=new TableRow(this);
for(int i=0;i<mConnector.idArray.size();i++) {
tbrow=new TableRow(this);
TextView tv1=new TextView(this);
//String s1 = Integer.toString(i);
try {
String insecticide = mConnector.insecticideArray.get(i);
String wegedoornuis = mConnector.wegedoornluisArray.get(i);
String dosering = mConnector.doseringArray.get(i);
String prijs = mConnector.prijsArray.get(i);
String bestuivers = mConnector.bestuiversArray.get(i);
String roofvijanden = mConnector.roofvijandenArray.get(i);
// String result = insecticide +" | "+wegedoornuis+" | "+dosering+" | "+prijs+" | "+bestuivers+" | "+roofvijanden;
// int id = Integer.parseInt(s3);
tv1.setId(i);
tv1.setText(id);
tbrow.addView(tv1); …Run Code Online (Sandbox Code Playgroud) 我知道它和这里的问题相同
但是它还没有得到答案,所以我在这里试试,因为我也需要它:)
我得到了一个数组:(我缩短了SO的数组/代码)
ScrollView sv = new ScrollView(this);
TableLayout ll=new TableLayout(this);
HorizontalScrollView hsv = new HorizontalScrollView(this);
TableRow tbrow=new TableRow(this);
for(int i=0;i<mConnector.idArray.size();i++) {
tbrow=new TableRow(this);
tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
tbrow.setBackgroundColor(Color.rgb(51, 51, 51));
ll.addView(tbrow);
}
hsv.addView(ll);
sv.addView(hsv);
setContentView(sv);
Run Code Online (Sandbox Code Playgroud)
遗漏了数组中的信息,我认为你不需要它.
但是如何在每一行中添加边框(更喜欢水平和垂直)?我希望这是解决方案:
tbrow.setLayoutParams(new TableRow.LayoutParams(TableRow.LayoutParams.FILL_PARENT, 1));
tbrow.setBackgroundColor(Color.rgb(51, 51, 51));
Run Code Online (Sandbox Code Playgroud)
但它只是将整张桌子的颜色变为灰色.
希望我足够清楚,并希望他们是一个解决方案.
如果我用我的三星galaxy s2拍照,图片是3264 x 2448像素.我想对它使用颜色范围检查,但它不起作用.
但是,如果我将图片缩小,例如2500 x 2500(像素更少),那么它确实有效.但我希望使用星系s2(3264 x 2448)的图片大小.我认为这是一个记忆问题?我不完全知道限制是什么.但他们是另一种"绕过"这个问题的方法吗?
这是一段代码,我现在是怎么做的:
bmp = BitmapFactory.decodeResource(getResources(),
R.drawable.four_colors);
int width = bmp.getWidth();
int height = bmp.getHeight();
int[] pixels = new int[width * height];
bmp.getPixels(pixels, 0, width, 0, 0, width, height);
for (int y = 0; y < height; y++){
for (int x = 0; x < width; x++){
int index = y * width + x;
int R = (pixels[index] >> 16) & 0xff; //bitwise shifting
int G = (pixels[index] >> 8) & 0xff; …Run Code Online (Sandbox Code Playgroud) 我上了3节课.主类,globalVariable类和项类.
我尝试在主类中设置一个ArrayList.我想在item类中读出来.
这是我试过的:
主要:
for (int i = data.size()-1; i >= 0; i--){
if (str_tv.contains(data.get(i).getCaption())){
//TODO data.remove();
String str_i = String.valueOf(i);
checkedArray.add(str_i);
}
}
System.out.println("MainActivity");
global.setArrList(checkedArray);
System.out.println("size = "+global.getArrList().size());
Run Code Online (Sandbox Code Playgroud)
global.setArrlList在这里工作.也在global.getArrList这里工作(我得到我的大小).
现在我尝试从item类中获取它:
System.out.println("Item Class");
System.out.println("size = "+global.getArrList().size()); <--gives NullPointer
Run Code Online (Sandbox Code Playgroud)
但是在这里它不起作用,然后它给出了一个NullPointer.
这是我的全球课程:
ArrayList<String> arrList;
public ArrayList<String> getArrList() {
return arrList;
}
public void setArrList(ArrayList<String> arrList) {
this.arrList = arrList;
}
Run Code Online (Sandbox Code Playgroud)
我确实检查过他是否试图获得第ArrayList一个而不是设置它.但他System.out.println("MainActivity");在项目类中显示了之前的那个.
为什么它会给出NullPointer?我错过了什么?
logcat的:
01-24 11:02:04.755: E/AndroidRuntime(30097): FATAL EXCEPTION: main
01-24 11:02:04.755: E/AndroidRuntime(30097): java.lang.NullPointerException
01-24 11:02:04.755: …Run Code Online (Sandbox Code Playgroud) 我不确定我是否100%正确地提出了这个问题,但是在这里:我得到了这个代码:
File root = Environment.getExternalStorageDirectory();
File saveFolder= new File(Root, "Save");
String[] files=saveFolder.list(
new FilenameFilter() {
public boolean accept(File dir, String name) {
//define here you filter condition for every single file
return name.startsWith("1_");
}
});
if(files.length>0) {
System.out.println("FOUND!");
System.out.println("Files length = "+files.length);
} else {
System.out.println("NOT FOUND!");
}
Run Code Online (Sandbox Code Playgroud)
我有2个文件开头"1_",println也显示我有2个文件.但是,如何在布尔值之后打印或查看这两个文件的文件名?
所以像(在另一个之间System.out.println):
System.out.println("File names = "+files.names);