小编Chr*_*pix的帖子

如何在屏幕上"显示"文本编辑框?

我有一个具有纵向主要布局的应用程序(它固定为肖像),并且有一个地方可以输入文本.我希望像横向方向的弹出窗口一样启动,背景图像模糊不清.我知道有一个弹出窗口小部件,但任何旋转文本编辑框的想法都会很棒.当键盘滑出时将其旋转为纵向视图(仅限文本框)也可以工作,就像在键盘滑块上显示带有文本框的新屏幕一样.

android text popup android-edittext

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

Android:Location.distanceTo无法正常工作?

我在使用该Location.distanceTo方法计算距离时遇到问题.

private class MyLocationOverlay1 extends MyLocationOverlay {
    @Override
    public void drawMyLocation(Canvas canvas, MapView mapView, Location lastFix, GeoPoint myLocation, long when) 
        super.drawMyLocation(canvas,mapView,lastFix,myLocation,when);

        Location bLocation = new Location("reverseGeocoded");
        bLocation.setLatitude(FindList.gpslat);           // Value = 3.294391E7
        bLocation.setLongitude(FindList.gpslong);         // Value = -9.6564615E7
        Location aLocation = new Location("reverseGeocoded");
        aLocation.setLatitude(myLocation.getLatitudeE6());   // Value = 3.2946164E7
        aLocation.setLongitude(myLocation.getLongitudeE6()); // Value = -9.6505141E7
        aLocation.set(aLocation);    // Don't think I need this   
        bLocation.set(bLocation);    // Don't think I need this either

        int distance = (int)aLocation.distanceTo(bLocation);  // Value = 12637795 ???
        String str = …
Run Code Online (Sandbox Code Playgroud)

android location distance

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

你能用registerContentObserver确定联系人的变化吗?

只是尝试确定在使用registerContentObserver或其他方法时是否有一种简单的方法来确定哪些联系人发生了变化?我可以告诉数据库何时更改,但不确定每次更新/更改发生时我都要检查所有记录.

基本上,如果我有一个联系人列表,一个通过手动方法更新(即我更改联系人的电话号码或添加新的联系人),或自动(说ActiveSync照片添加,更改).我希望能够A)知道某些事情发生了变化,并且B)知道哪些联系人的某些数据发生了变化.

我正在尝试寻找某些用户,我可以从远程服务中匹配他们的照片.如果有更多信息添加到用户帐户,我希望能够检查它以查看它是否提供匹配.我不想安排它,我想在更新发生后这样做.

克里斯.

android contacts contentobserver

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

为什么不推荐使用InsertHelper?

我花了很长时间在我们的设备上查看一些性能问题,并注意到我们有很多应用程序都在进行db读/写操作.

我开始使用Contacts API来插入新的联系人和数据行,而且速度很慢.1分18秒插入约1500行(250个原始触点和1250个数据行)..

我曾在另一个应用程序中使用插入助手进行性能插入,并决定编写一个测试应用程序,该应用程序将写入单独的数据库w /单独的插入方法.

每个db都有一个表,每个表有4个列:_ID,Name,Time和Blob(所有类型为'string') - 就像联系提供程序定义数据列一样.

_ID是自动增量pk,Name只是插入相同的东西'1234567890',时间只是当前系统时间的milis,而BLob是一个字符串,长度为6400,字母'A'...

我首先检查了批量插入,但它所做的只是循环遍历你定义的所有插入,并且与单独插入(或可忽略的性能影响)一样慢.

我测试了3种不同的方法来进行插入:ContentValues w/db.insert方法:SQLiteStatement w/statement.execute()(在事务内部完成).SqliteInsertHelper w/transaction.

我可以提供一些代码,但是我从InsertHelper中获得了最佳性能,并想知道它为何被弃用:

插入100条记录的时间ContentValues:7.778秒(写入82字节/ ms)SQLiteStatement:1.311秒(写入489字节/ ms)SqliteInsertHElper:0.292秒(写入2197字节/ ms)

有任何想法吗?

sqlite android bulkinsert deprecated

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

Android:列表视图上的多个操作 - 焦点问题

我想实现一个ListView,我可以用我的光标没问题.现在,根据您点击它的哪一行,您将根据在该行上按下的信息(就像它应该按照预期一样)进入新活动.我想有一个按钮来删除该行,因此用户可以按行的任何部分来启动新活动,但如果他们按下该行上的按钮,它会删除该行(或启动删除活动/功能).

如果你能看到@ DroidRecord,它们的布局与我期待的相似.

谢谢!

克里斯.

android listview focus button

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

Android:从相机获取文件名?

我遇到了一些我可能只是忽略的问题.

我想从相机的表面预览中拍摄照片,并将其保存到sd_card.这几乎完美地工作.我为它分配了一个文件名,由于某种原因,它不使用文件名.

这就是我一直在尝试做的事情:

Button imagecapture = (Button) findViewById(R.id.imagecapture);
imagecapture.setOnClickListener(new View.OnClickListener() {
    public void onClick(View view) {
        String filename = null;
        ImageCaptureCallback iccb = null;

        try {
            filename = timeStampFormat.format(new Date());
            ContentValues values = new ContentValues();
            values.put(Media.TITLE, filename);
            values.put(Media.DESCRIPTION, "Image capture by camera");

            Uri uri = getContentResolver().insert(Media.EXTERNAL_CONTENT_URI, values);
            iccb = new ImageCaptureCallback(getContentResolver().openOutputStream(uri));
        } catch (Exception ex) {
            ex.printStackTrace();
            Log.e(getClass().getSimpleName(), ex.getMessage(), ex);
        }
        camera.takePicture(mShutterCallback, mPictureCallbackRaw, iccb);
        com.froogloid.android.gspot.Park.imageFileName = filename;
    }
});
Run Code Online (Sandbox Code Playgroud)

它不会使用文件名(即我要求的时间/日期戳.)

camera android file

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

GREF在多线程服务中增加/减少(aidl) - 这是什么意思?

我有一个Android活动和使用aidl实现的服务.像冠军一样工作,我有一个回调设置将一些线程通知传递回UI,并且看起来工作正常,除了很多

GREF已增加到101,201,301,401,501等,GREF已减少.我做了一些在线搜索,发现它必须做全球参考.

08-17 02:31:19.735: DEBUG/dalvikvm(2558): GREF has increased to 301
...
08-17 02:31:25.823: DEBUG/dalvikvm(2558): GREF has increased to 401
...
08-17 02:31:36.772: DEBUG/dalvikvm(2558): GREF has increased to 501
...
08-17 02:31:42.694: DEBUG/dalvikvm(2558): GREF has increased to 601
...
08-17 02:31:48.695: DEBUG/dalvikvm(2558): GREF has increased to 701
... 
08-17 02:31:59.883: DEBUG/dalvikvm(2558): GREF has decreased to 599
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 499
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 399
08-17 02:31:59.912: DEBUG/dalvikvm(2558): GREF has decreased to 299
08-17 …
Run Code Online (Sandbox Code Playgroud)

service multithreading android ipc aidl

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

DragShadowBuilder - 超过目标时改变阴影?

我知道我可以在阴影结束时更改目标,但我真的想要更改阴影以指示当它超过目标时将对其执行的操作.

我可以通过更改onProvideShadowMetrics和onDrawShadow的输出来修改DragShadowBuilder.

到目前为止,我已经添加了一些公共方法,这些公共方法可以被目标访问并尝试更新保存画布和视图的类变量,但看起来它在更改时实际上不会更新.这是我的公共方法,当阴影超过目标时会调用它.

    public void onTarget(String string) {
        mView.draw(mCanvas); 
        Paint redPaint = getFillTextPaint(0.00003f, 0xFFFF0000, 0.05225f);
        RectF r = new RectF();
        r.set(mCanvas.getWidth()-100.0f, 0,mCanvas.getWidth(), mCanvas.getHeight());
        mCanvas.drawRoundRect(r,8.0f,8.0f, redPaint);
        mView.invalidate();
    }
Run Code Online (Sandbox Code Playgroud)

谢谢,

android drag-and-drop shadow

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

Android:BaseAdapter 如何?

好吧,我一直在仔细搜索,并且在实现 BaseAdapter 时遇到了一些问题。

我已经能够 按照上面的示例实现一个简单的光标适配器http://developer.android.com/resources/samples/ApiDemos/src/com/example/android/apis/view/List7.html 。

这里有一个非常好的 BaseAdapter 示例:List14 google example

我想使用 BaseAdapter 创建自己的列表适配器来显示列表视图,其中包含数据库中的多个项目。我知道这可以使用简单游标适配器来完成,但我希望以不同的方式处理行,因此我希望能够通过重写 getView 来绘制每一行。数据将从游标中提取。

我知道这段代码对于获取光标数据来说很难看,但假设我已经填充了光标。如果第 8 列包含图像资源 id,您对此有何建议。:

@Override
public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub
    cursor.moveToPosition(position);
    ImageView i = new ImageView(mContext);
    i.setImageResource(cursor.getShort(8));
    i.setAdjustViewBounds(true);
    i.setLayoutParams(new AbsListView.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT));

    return i;
}
Run Code Online (Sandbox Code Playgroud)

您有任何使用光标绘制 BaseAdapter 的好示例吗?

android listview adapter android-cursor

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

Android 1.6相机旋转?

我在android dev论坛上发布了这个,但是想在这里联系.

我们的应用程序中的一项活动是拍照.图片预览在1.5和1.6的屏幕上显示正确的方式,但保存后,它会保存jpg 90旋转.

我可以在显示时实时旋转它,我想我可以在保存后重新保存它.我的问题是我想在拍照时正确保存.

在1.5中编译我的应用程序工作正常.由于图像尺寸,我有一些内存问题w/1.6,这是奇怪的b/c通过拍照/ surfaceholder/imagecapture回调拍照时图像尺寸增加.我似乎通过使用bitmapfactory矩阵调整它们来修复重新显示这些图像.但我的相机现在旋转90度.看来我的覆盖surfaceChanged什么也没做,这就是我将旋转设置为90(我不记得为什么,这是10个月前!).我试过将相机参数参数旋转到90度,0度.它似乎没有做任何事......任何想法?

camera android rotation

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