小编Shi*_*ade的帖子

使用RotateAnimation在Android中围绕固定点旋转ImageView

我想在固定点周围连续旋转360度图像.我已经看过几个例子,例如:

RotateAnimation anim = new RotateAnimation(0, 360,150,150);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(2000);
[imageview].startAnimation(anim);
Run Code Online (Sandbox Code Playgroud)

这会旋转图像,但它会在弧/圆形路径上旋转.IE浏览器.图像以圆周运动方式移动/旋转,但不会固定在它的起始位置.

我基本上想要的是模仿WindMill手臂的旋转.

有什么想法吗?

android fixed-point rotation imageview rotateanimation

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

Hadoop Basics的MapReduce程序中的java.lang.NoClassDefFoundError

我正在尝试Hadoop的Basic MapReduce程序,其教程在http://java.dzone.com/articles/hadoop-basics-creating

该类的完整代码是(代码存在于上面的网址上)

import java.io.IOException;
import java.util.StringTokenizer;
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.fs.Path;
import org.apache.hadoop.io.IntWritable;
import org.apache.hadoop.io.Text;
import org.apache.hadoop.mapreduce.Job;
import org.apache.hadoop.mapreduce.Mapper;
import org.apache.hadoop.mapreduce.Reducer;
import org.apache.hadoop.mapreduce.lib.input.FileInputFormat;
import org.apache.hadoop.mapreduce.lib.input.KeyValueTextInputFormat;
import org.apache.hadoop.mapreduce.lib.output.FileOutputFormat;
import org.apache.hadoop.util.GenericOptionsParser;

public class Dictionary {
public static class WordMapper extends Mapper<Text, Text, Text, Text> {
    private Text word = new Text();

    public void map(Text key, Text value, Context context) throws IOException, InterruptedException {
        StringTokenizer itr = new StringTokenizer(value.toString(), ",");
        while (itr.hasMoreTokens()) {
            word.set(itr.nextToken());
            context.write(key, word);
        }
    }
}

public static class …
Run Code Online (Sandbox Code Playgroud)

java hadoop runtime-error mapreduce noclassdeffounderror

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

为什么android:layout_gravity ="right"在android xml中不起作用

我的列表视图行的xml代码是

    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:baselineAligned="false"
    android:orientation="horizontal" >

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="5"
        android:orientation="vertical" >

        <TextView
            android:id="@+id/tv_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp" />

        <TextView
            android:id="@+id/tv_time"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:layout_weight="2"
        android:gravity="center" >

        <ImageView
            android:id="@+id/iv_image"
            android:layout_width="50dp"
            android:layout_height="40dp"
            android:background="@drawable/app_icon_17"
            android:contentDescription="@string/empty" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_gravity="right"
        android:layout_weight="2"
        android:gravity="center" >

        <Button
            android:id="@+id/btn_delete"
            android:layout_width="40dp"
            android:layout_height="40dp"
            android:background="@drawable/btn_delete_new"
            android:focusable="false" />
    </LinearLayout>

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我希望id为btn_delete的最后一个按钮保持右对齐.并且它在设计时以"图形布局"的形式显示.但是当我运行它时,在模拟器上它不起作用.

看输出:

在此输入图像描述

那么为什么删除按钮没有正确对齐?

android gravity android-layout android-linearlayout layout-gravity

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

Environment.getExternalStorageDirectory().getAbsolutePath()无法正常工作并提供/存储

我的代码

myDb = openOrCreateDatabase("/sdcard/FashionGirl/ImagesDB.db", Context.MODE_PRIVATE, null);
myDb = openOrCreateDatabase(dbPath, Context.MODE_PRIVATE, null);
Run Code Online (Sandbox Code Playgroud)

工作得很好,但却发出了警告 Do not hardcode "/sdcard/"; use Environment.getExternalStorageDirectory().getPath() instead

所以我试过,

String dbPath = Environment.getExternalStorageDirectory().getAbsolutePath() + "FashionGirl/ImagesDB.db";
myDb = openOrCreateDatabase(dbPath, Context.MODE_PRIVATE, null);
Run Code Online (Sandbox Code Playgroud)

但奇怪的是,它不起作用,其中Environment.getExternalStorageDirectory().getAbsolutePath()具有价值 /storage

所以给出错误,

12-17 19:32:02.230: E/SqliteDatabaseCpp(15620): sqlite3_open_v2("/storageFashionGirl/ImagesDB.db", &handle, 6, NULL) failed
12-17 19:32:02.230: E/SQLiteDatabase(15620): Failed to open the database. closing it.
12-17 19:32:02.230: E/SQLiteDatabase(15620): android.database.sqlite.SQLiteCantOpenDatabaseException: unable to open database file
12-17 19:32:02.230: E/SQLiteDatabase(15620):    at android.database.sqlite.SQLiteDatabase.dbopen(Native Method)
12-17 19:32:02.230: E/SQLiteDatabase(15620):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:983)
12-17 19:32:02.230: E/SQLiteDatabase(15620):    at android.database.sqlite.SQLiteDatabase.openDatabase(SQLiteDatabase.java:956)
12-17 19:32:02.230: E/SQLiteDatabase(15620): …
Run Code Online (Sandbox Code Playgroud)

storage android external path android-sdcard

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

滥用聚合函数MAX()

我想在Alert表中列的最新非空ignition_status.

我的列unix_time是Unix时间戳中的时间,因此最大unix_time列值,最新是条目.

以下是我的代码

cursor = dbUtilsObj.query(Alert.TABLE_NAME, new String[] { alertType_COLUMN }, " MAX(" + Alert.Columns.KEY_ALERT_UNIX_TIME
                + ")" + AND + Alert.Columns.KEY_MACHINE_TELE_DEVICE_NO + EQUALS + AND + alertType_COLUMN + IS_NOT_NULL,
                new String[] { String.valueOf(teleDevieNo) }, null, null, Alert.Columns.KEY_ALERT_UNIX_TIME);
Run Code Online (Sandbox Code Playgroud)

得到错误

(1) misuse of aggregate function MAX()
: android.database.sqlite.SQLiteException: misuse of aggregate function MAX() (code 1): , while compiling: SELECT ignition_status FROM alert WHERE  MAX(unix_time) and tele_device_no = ?  and ignition_status IS NOT NULL  ORDER …
Run Code Online (Sandbox Code Playgroud)

sqlite android max aggregate-functions select-query

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

android ExceptionInInitializerError由新的HSSFWorkbook(inputStream)无法确定记录类型引起的

得到错误

E/AndroidRuntime: FATAL EXCEPTION: AsyncTask #1
       java.lang.RuntimeException: An error occured while executing doInBackground()
           at android.os.AsyncTask$3.done(AsyncTask.java:299)
           at java.util.concurrent.FutureTask.finishCompletion(FutureTask.java:352)
           at java.util.concurrent.FutureTask.setException(FutureTask.java:219)
           at java.util.concurrent.FutureTask.run(FutureTask.java:239)
           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230)
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080)
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573)
           at java.lang.Thread.run(Thread.java:856)
        Caused by: java.lang.ExceptionInInitializerError
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:326)
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:289)
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:224)
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:382)
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:364)
           at com.d.link.d.d.a(ExportUtils.java:134)
           at com.d.link.activity.ey.a(SplashScreen.java:55)
           at com.d.link.activity.ey.doInBackground(SplashScreen.java:51)
           at android.os.AsyncTask$2.call(AsyncTask.java:287)
           at java.util.concurrent.FutureTask.run(FutureTask.java:234)
           at android.os.AsyncTask$SerialExecutor$1.run(AsyncTask.java:230) 
           at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1080) 
           at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:573) 
           at java.lang.Thread.run(Thread.java:856) 
        Caused by: b.b.a.c.b.dj: Unable to determine record types
           at b.b.a.c.b.dd.a(RecordFactory.java:434)
           at b.b.a.c.b.dd.<clinit>(RecordFactory.java:292)
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:326) 
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:289) 
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:224) 
           at b.b.a.c.c.p.<init>(HSSFWorkbook.java:382) …
Run Code Online (Sandbox Code Playgroud)

excel android apache-poi android-library hssfworkbook

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

在Android Studio终端中,“ gradlew”未被识别为内部或外部命令错误

出现错误- 'gradlew' is not recognized as an internal or external command. operable program or batch file.在Android Studio终端中。

谁能告诉我为什么它不识别gradlew

terminal android command gradlew android-studio

3
推荐指数
5
解决办法
5319
查看次数

如何停止执行UI线程,直到异步任务完成,以返回在android中的AsyncTask中获取的值

我有一个类,我已经编写了一个AsyncTask来从网上获取Json.

public class MyAsyncGetJsonFromUrl extends AsyncTask<Void, Void, JSONObject> {
    Context context_;
    String url_;
    List<NameValuePair> params_;

    public MyAsyncGetJsonFromUrl(Context context_, List<NameValuePair> params_, String url_) {
        this.context_ = context;
        this.params_ = params_;
        this.url_ = url_;
    }

    @Override
    protected JSONObject doInBackground(Void... params) {
        JSONObject jObj_ = null;
        try {
            DefaultHttpClient httpClient = new DefaultHttpClient();
            HttpPost httpPost = new HttpPost(url_);
            httpPost.setEntity(new UrlEncodedFormEntity(params_));

            HttpResponse httpResponse = httpClient.execute(httpPost);
            HttpEntity httpEntity = httpResponse.getEntity();
            InputStream is_ = httpEntity.getContent();

            BufferedReader reader = new BufferedReader(new InputStreamReader(is, "iso-8859-1"), 8);
            StringBuilder sb = …
Run Code Online (Sandbox Code Playgroud)

android return-value execution ui-thread android-asynctask

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

用于旋转摄像头意图捕获的图像的代码无法在Android中运行

我有一个问题,我使用相机意图捕获的图像被旋转,我问为什么使用相机意图捕获的图像在Android上的某些设备上旋转?

所以根据那里的建议答案,我现在正在尝试旋转使用相机获得的图像(我已经使用了相机意图).我的代码是,

public class SimpleCameraActivity extends Activity {
private static final int TAKE_PICTURE = 1888;
private Uri imageUri;
ImageView imageView;
Bitmap bitmap;
Button btnOK, btnDiscard;
RelativeLayout rLButtons;

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.simple_camera);
    imageView = (ImageView) findViewById(R.id.image_view_sc);
    captureImage();
}

public void captureImage() {
    Intent intentCamera = new Intent("android.media.action.IMAGE_CAPTURE");
    File filePhoto = new File(Environment.getExternalStorageDirectory(), "Pic.jpg");
    imageUri = Uri.fromFile(filePhoto);
    MyApplicationGlobal.imageUri = imageUri.getPath();
    intentCamera.putExtra(MediaStore.EXTRA_OUTPUT, imageUri);
    startActivityForResult(intentCamera, TAKE_PICTURE);
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent intentFromCamera) {
    super.onActivityResult(requestCode, resultCode, …
Run Code Online (Sandbox Code Playgroud)

android image rotation image-rotation android-camera-intent

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

如何使用Java Streams从HashMaps的ArrayList中获取字符串

我有一个数据结构 - ArrayList>这就是我需要做的 -

ArrayList<HashMap<String, String>> optMapList;
//populated optMapList with some code. Not to worry abt this

List<String> values = new ArrayList<String>();

for(HashMap<String,String> entry: optMapList){
    values.add(entry.get("optValue"));
}
Run Code Online (Sandbox Code Playgroud)

我们如何使用Java Streams实现相同的目标?

java hashmap java-stream

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