小编Big*_*low的帖子

仅在需要时显示双精度的小数

我用double(小数)得到了这个问题.
当double = 1.234567然后我用,String.format("%.3f", myString);
所以结果是1.234

但当我的双倍是10
结果将是10,000
我希望这是10

他们是否可以说他只需要在"有用"时显示小数?

我看到一些关于这个的帖子,但那是php或c#,找不到关于android/java的东西(也许我看起来不太好).

希望你们能帮我解决这个问题.

编辑,现在我使用这样的东西:myString.replace(",000", "");
但我认为他们是一个更"友好"的代码.

java double android decimal string-formatting

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

使用For循环从ArrayList中删除数据

我遇到了一个奇怪的问题.我认为这会花费我几分钟,但我现在正在努力几个小时......这就是我得到的:

for (int i = 0; i < size; i++){
    if (data.get(i).getCaption().contains("_Hardi")){
        data.remove(i);
    }
}
Run Code Online (Sandbox Code Playgroud)

dataArrayList. 在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,但无法弄清楚原因.

如何解决这个问题?或者可能是另一种方法来删除它们?

java android arraylist

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

在特定路径(文件夹)上触发mediascanner,如何?

我上了这堂课:

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)

android android-mediascanner

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

Linphone for android不工作/缺少库

我正在尝试运行我从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)

android sip linphone

11
推荐指数
2
解决办法
9224
查看次数

获取照片的gps位置

我知道如何获得手机的当前GPS位置.我也知道如何在拍摄时将GPS位置保存到照片中.(相机选项三星galaxy s2).

但是如何才能获得该照片的GPS位置(稍后)?当我在电脑上打开照片时,我可以看到GPS位置数据,但不知道如何在android中提取它们.有人能让我朝着好的方向前进吗?更清楚地提出问题:如何获取已拍摄照片的GPS位置?

谢谢,Bigflow

java gps android photo geolocation

3
推荐指数
2
解决办法
8133
查看次数

以编程方式将列添加到表

我以编程方式将列添加到表中有些麻烦,也许我查找/搜索错误的关键字,但找不到合适的解决方案.

我得到了这段代码:

 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)

android android-tablelayout

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

以编程方式设置TableRow数组的边框

我知道它和这里的问题相同 但是它还没有得到答案,所以我在这里试试,因为我也需要它:)
我得到了一个数组:(我缩短了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)

但它只是将整张桌子的颜色变为灰色.

希望我足够清楚,并希望他们是一个解决方案.

android tablerow android-view android-tablelayout

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

要使用getPixels大位图吗?

如果我用我的三星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)

memory android colors bitmap

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

在尝试获取全局ArrayList时获取NullPointer

我上了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)

android global-variables arraylist nullpointerexception

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

从String数组中获取文件名

我不确定我是否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);

java arrays android file

-1
推荐指数
1
解决办法
1838
查看次数