小编Nit*_*ish的帖子

Android:Lint说 - 在布局文件中引用的类,在项目或库中找不到

在我的应用程序中,我正在使用Pull TO Refresh列表视图库.我分别为所有屏幕设计了布局.当我在我的项目上运行lint时,在我的xlarge屏幕的一个布局文件中,它给了我致命的错误:

在项目或库中找不到布局文件中引用的类com.handmark.pulltorefresh.library.PullToRefreshListView

在其他屏幕的相同布局文件中,它完全没有错误.另外,我在我的文件的其他布局中使用了相同的库,它没有给出任何错误.它也为Google Mapsapi 提供了相同的错误.我的项目目标是Google Api 16级,我已经检查过,所有库都添加到了它.但是,即使在清洁项目上,错误也不会消失.

android lint

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

Android:使用Camera Intent时,应用程序在onActivityResult上崩溃

我正在使用相机意图在我的应用程序中捕获图像.我的应用程序在Android 5.0.2使用相机时崩溃的问题.我正在使用片段的意图.下面是我片段内的代码:

拍照的方法

private void takePhoto() {
    mHighQualityImageUri = Util.generateTimeStampPhotoFileUri(getActivity());
    Log.d(UploadPicturesFragment.class.getSimpleName(),
            "URI: " + mHighQualityImageUri.toString());
    Intent intent = new Intent(MediaStore.ACTION_IMAGE_CAPTURE);
    intent.putExtra(MediaStore.EXTRA_OUTPUT, mHighQualityImageUri);
    startActivityForResult(intent, REQUEST_IMAGE_CAPTURE);
}
Run Code Online (Sandbox Code Playgroud)

我片段中的onActivityResult

public void onActivityResult(int requestCode, int resultCode, Intent data) {
    if (resultCode != Activity.RESULT_OK) {
        return;
    }

    if (requestCode == REQUEST_IMAGE_CAPTURE) {
    Log.d(UploadPicturesFragment.class.getSimpleName(),
                "IMAGE URI NOT NULL: " + (mHighQualityImageUri == null));
        try {
            Bitmap bitmap = MediaStore.Images.Media.getBitmap(getActivity().getContentResolver(),
                    mHighQualityImageUri);
            DroomUtil.beginCrop(mHighQualityImageUri, getActivity(), this, true, bitmap.getWidth(),
                    bitmap.getHeight());
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch …
Run Code Online (Sandbox Code Playgroud)

android android-camera-intent

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

在android中将位图转换为jpeg

有没有办法将android.graphics.Bitmap实例转换为android中的jpeg?

android jpeg bitmap

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

Android:使用文本视图中显示的时间设置时间选择器

在我的应用程序中,我在文本视图中显示时间为07:00 PM.单击文本视图时,会弹出一个时间选择器对话框,在该时间选择器中,我必须显示与textview中显示的内容完全相同的时间.但是,我没有得到如何做到这一点.

SimpleDateFormat sdf = new SimpleDateFormat("HH:mm a");
        //int hr = 0;
        Date date = null;
        try 
        {
            date = sdf.parse(resDateArray[3]);
        } 
        catch (ParseException e) {
            e.printStackTrace();
        }
        final Calendar calendar = Calendar.getInstance();
        calendar.setTime(date);
        //tp is reference variable for time picker

        tp.setCurrentHour(calendar.get(Calendar.HOUR));
        tp.setCurrentMinute(calendar.get(Calendar.MINUTE));

        }//else
Run Code Online (Sandbox Code Playgroud)

time android android-timepicker

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

Android:未调用片段中的onActivityResult

发现很多关于我的问题的帖子,但没有一个对我有用.我有一个片段,我必须startActivityForResult()在textview点击调用.从那里开始,将打开一个活动,用户将填写一些数据并将其提交给数据库.从那里,我必须传递包含结果代码的意图.但是片段中的onActivityResult()不会被调用.

我片段中的代码

Intent in = new Intent(getActivity(), NetBarrelActivity.class);
        in.putExtra(AppUtility.ORDER_ID, orderDAO.getOrderNum());
        in.putExtra(AppUtility.TICKET_ID, 2);
        startActivityForResult(in, AppUtility.REQUEST_CODE);
Run Code Online (Sandbox Code Playgroud)

我的活动代码

Double NetBarrels = crudeNetCalculator(GrossBarrels,
                        ProductObsTemp, ProductObsGravity, ProductBSW);
                db.updateTank(OrderID, TicketTypeID, CarrierTicketNum,
                        TankNum, TankTypeID, ProductObsTemp,
                        ProductObsGravity, ProductBSW, GrossBarrels,
                        NetBarrels);
                Intent in = new Intent();
                setResult(RESULT_OK, in);
                finish();
Run Code Online (Sandbox Code Playgroud)

片段中的onActivityResult:

    @Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    Log.d(TAG, "onActivityReslt called");
    super.onActivityResult(requestCode, resultCode, data);
    switch (requestCode) {
    case AppUtility.REQUEST_CODE:
        if(resultCode == Activity.RESULT_OK){
            if (mOrdersDAO.getTicketType().equals(AppUtility.NET_BARREL)) {
                ArrayList<OrderTicketsDao> mOrderTicketsDaos = dbHandler
                        .getOrderTicket(mOrdersDAO.getOrderNum());
                if (mOrderTicketsDaos != null && …
Run Code Online (Sandbox Code Playgroud)

android android-fragments

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

Android:Out of Memory错误StringBuilder

在我的应用程序中,我以JSON的形式从服务器获取数据.数据大约为1.5 MB.该应用程序可以工作,但有时它会在从服务器获取OutOfMemoryError的数据时崩溃.

这是我的方法:

private String sendPostRequest(String url, List<NameValuePair> params)
        throws Exception {
    String ret = null;

    BufferedReader bufferedReader = null;
    HttpClient httpClient = new DefaultHttpClient();
    HttpPost request = new HttpPost(url);

    try {
        UrlEncodedFormEntity entity = new UrlEncodedFormEntity(params);
        request.setEntity(entity);

        HttpResponse response = httpClient.execute(request);

        bufferedReader = new BufferedReader(new InputStreamReader(response
                .getEntity().getContent()));
        StringBuilder stringBuilder = new StringBuilder("");
        StringBuilder stringBuilder2;
        String line = "";
        //String LineSeparator = System.getProperty("line.separator");
        while ((line = bufferedReader.readLine()) != null) {
            stringBuilder.append(line);
        }
        bufferedReader.close();

        ret = stringBuilder.toString();
        stringBuilder = null;

    } …
Run Code Online (Sandbox Code Playgroud)

stringbuilder android out-of-memory httpconnection

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

将Green DAO与内容提供商一起使用

我打算GreenDAO在我的项目中使用.我已经通过创建测试项目来测试它.但是,我有几个要求,我需要完成.

  1. 我的应用程序的数据库将被加密.为此,我们计划使用SQLCipher.我找到了这个链接.我正在研究它,但有兴趣知道原始的GreenDAO项目有什么可用.

  2. 由于我的应用程序将数据与服务器同步,我将使用SyncAdapter,因为我不想自己完成所有的重量级操作,这已经由Android框架完成.但它需要Content Provider合作.那么,我如何使用GreenDAO Content Provider.

更新2

我的项目有七个实体.我用过addContentProvider()实体.并生成七个不同的内容提供商.有没有办法在单个内容提供商中拥有所有sqlite表?

database orm android android-sqlite greendao

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

Android:自定义视图中的Handle Back按钮

我通过扩展为我的应用创建了一个自定义视图RelativeLayout.dialog通过拖动来打开它ImageView.它有EditTextsButtons.onKeyDown 因为我需要从这个视图中截取后退按钮,所以我在我的视图中重写.如果自定义视图可见,则edittext未获得焦点,如果按下后退按钮,则视图将被取消,这是所需的.

出现问题,当edittext获得焦点,键盘可见时,按下后退按钮,软键盘被解除,但如果我再次按下后退按钮,然后super.onKeyDown()调用而不是解除自定义视图,我退出我的应用程序,其中所需功能是在解除软键盘后关闭视图.我究竟做错了什么?

以下是我的自定义视图代码:

public class AddTransactionView extends RelativeLayout implements View.OnClickListener {
    private final String TAG = "AddTransactionView";

    private Context context;

    private ViewGroup parentView;

    private FriendsDAO mFriendsDAO;

    private AppPreference mAppPreference;

    private ImageLoader imageLoader;

    private DisplayImageOptions options;

    private CircularImageView friendsImage;

    private Button btnIOwe, btnTheyOwe;

    private EditText edtTransactionDesc, edtTransactionAmt;

    private RelativeLayout relAddTransaction;

    private int status;

    public AddTransactionView(Context context, View anchorView, int marginTop,
        ViewGroup parentView, FriendsDAO mFriendsDAO) {
        super(context);
        Log.e(TAG, …
Run Code Online (Sandbox Code Playgroud)

android view back-button android-custom-view

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

Volley的响应处理

Volley在我的项目中用于处理网络请求.这是JSON我的服务器返回的示例

JSON对象响应

{"code":"success", "data":{"some data"}}
Run Code Online (Sandbox Code Playgroud)

JSON数组响应

{"code":"success", "data":["some data"]}
Run Code Online (Sandbox Code Playgroud)

发生某些验证错误或任何其他错误时,服务器返回以下响应:

{"code":"failed", "error":"Access denied"}
Run Code Online (Sandbox Code Playgroud)

问题在于解析数据.当请求成功onResponseResponseListener,我只需获取data密钥的内容.在哪里,我期待的结果与我上面发布的相同.我不知道为什么Volley只返回内容data而不是完整内容JSON.我Volley之前也用过.但从未遇到过这类问题.

解析代码:

private void getOnboardingCategories() {
    Response.Listener<JSONArray> responseListener = new Response.Listener<JSONArray>() {

        @Override
        public void onResponse(JSONArray response) {
            Log.d(LOG_TAG, "CATEGORY RESPONSE: " + response.toString());
            if (response != null) {
                int dataLength = response.length();
                for (int i = 0; i < dataLength; i++) {
                    JSONObject jObject = response.optJSONObject(i);
                    if (jObject …
Run Code Online (Sandbox Code Playgroud)

android json android-volley

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

Android:从微调器中选择的项目更新回收器视图所需的建议

我是回收者视图的新手.我的要求如下: - 我必须调用一个将提供两个数组的Web服务.一个有我需要在列表中显示的数据.为此目的,我正在使用RecyclerView.另一个数组是状态,我在spinner中显示.此Web服务是分页的.我添加了分页,它工作正常. - 当用户从微调器中选择一些其他元素时,我必须再次进行Web服务调用,并且回收器视图数据应该更改.目前,在分页的情况下,一旦我从连续页面获得更多数据,我正在进行跟踪:

mAccountListingsAdapter.notifyItemRangeInserted(mAccountListingsAdapter.getItemCount(), mListings.size() - 1);
Run Code Online (Sandbox Code Playgroud)

而且,当我从微调器更改数据时,我正在做以下事情:

mListings.clear();//Clear the data set

mAccountListingsAdapter.notifyDataSetChanged();//Call notify data set changed on recycler view adapter

getAccountListings();//Fetch new data from the web service and display in recycler view
Run Code Online (Sandbox Code Playgroud)

但是,建议不要直接在recycler视图适配器上调用notifyDataSetChanged(),而应调用特定的notifyXXX方法,以避免性能和动画问题.

所以,我有疑问,如果我正确地通知onItemSelected()微调器中的recycleler视图适配器,或者它应该被更改.

PS我试过以下onItemSelected:

int size = mListings.size();
mListings.clear();
mAccountListingsAdapter.notifyItemRangeRemoved(0, size - 1);
Run Code Online (Sandbox Code Playgroud)

但随后它崩溃了,但有以下例外:

03-02 12:59:41.046: E/AndroidRuntime(4270): java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid item position 4(offset:0).state:5
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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