小编Tom*_*ond的帖子

在App Install上添加Android Widget

我正在尝试找到一种方法来自动添加小部件,而无需用户通过启动器手动将其添加到主页或锁定屏幕(最好是两者,但至少锁定屏幕).

这是我必须将小部件添加到主屏幕.我错过了什么?

 public class MyWidgetProvider extends AppWidgetProvider {

   private static final String ACTION_CLICK = "ACTION_CLICK";

   @Override
   public void onUpdate(Context context, AppWidgetManager appWidgetManager,
       int[] appWidgetIds) {


     ComponentName thisWidget = new ComponentName(context,
         MyWidgetProvider.class);
     int[] allWidgetIds = appWidgetManager.getAppWidgetIds(thisWidget);
     final List<AppWidgetProviderInfo> infos = appWidgetManager.getInstalledProviders();


     AppWidgetProviderInfo appWidgetInfo = null;

     for (final AppWidgetProviderInfo info : infos) {
    Log.v("AD3", info.provider.getPackageName() + " / "
            + info.provider.getClassName());
}

     for (final AppWidgetProviderInfo info : infos) {
         if (info.provider.getClassName().equals(thisWidget.getClassName()) && info.provider.getPackageName().equals(thisWidget.getPackageName())) {

        appWidgetInfo = info;
        break;
         }
     }
     if (appWidgetInfo …
Run Code Online (Sandbox Code Playgroud)

android android-widget lockscreen

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

Android内容提供商与SharedPreferences

当我的服务器知道它是跨应用程序的同一用户时,我有几个应用程序可以提供最佳用户体验.要验证用户是谁,每个用户都有一个user_token字符串,该字符串在加载应用程序时发送到我的服务器.

我正试图找出在应用程序之间共享此字符串的最佳方式.看起来Content Provider是在应用程序之间共享数据的最佳方式,但SQLite数据库对于存储/检索字符串似乎有点过分.

我在Android-Dev IRC上问了同样的问题,我建议我使用SharedPreferences - 但是在查看其他一些SO帖子时,不建议这样做.

最好的方法是什么?如果它是内容提供者,任何想法我应该使用什么样的数据结构来存储字符串?

提前致谢!

android sharedpreferences android-contentprovider

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

Rails Axlsx单元中的新生产线

有没有一种方法可以使用Rails中的Axlsx gem将新行添加到单元格中?

因此,基本上,一旦输入值,便可以在Excel中进行复制,您可以执行Alt + Enter键将其他文本添加到单元格的新行中。我试过了

sheet.add_row ["Testing cell row 1" + \r\n + "Testing cell row 2"]
Run Code Online (Sandbox Code Playgroud)

但这会引发错误。

ruby-on-rails axlsx

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

Rails Axlsx列宽和包装文本

使用Axlsx,我的一些单元格被设置为包装文本,这非常有用.我遇到的问题是如何计算单元格的自动宽度.看起来最初发生的事情是这样的数据:

cell line1 cell line2 cell line3 cell line4 cell line5
Run Code Online (Sandbox Code Playgroud)

哪个Axlsx使用来设置宽度那么大.但随后包装文本进入并正确设置单元格:

cell line1
cell line2
cell line3
cell line4
cell line5
Run Code Online (Sandbox Code Playgroud)

然后正确设置高度以显示所有五个值,但行宽仍然很大.有没有人知道是否有办法让Axlsx自动调整单元格的大小,就好像你要在Excel中双击单元格使其自动调整宽度一样?通过Axlsx添加到电子表格时正确设置Excel列宽似乎是躲避但我无法让它产生任何影响 - 不确定该:widths属性是否存在或有效?

我也一直在玩column_widths,例如sheet.column_widths *30.有没有人知道是否有办法强制所有列与此属性具有相同的宽度?它似乎不接受一个数组 - 只有整数/浮点数/ fixnums用逗号分隔,并且*30只将第一列设置为30的宽度.我事先并不知道我将要有多少列使用(动态数据)所以我希望能够将其设置为仅将所有列自动调整为一定宽度.

excel ruby-on-rails axlsx

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

Android Update Geofences

在Android中更新地理围栏的最佳方法是什么?是先删除旧的Geofences集合,然后像这样添加新更新的列表:

            LocationServices.GeofencingApi.removeGeofences(
                    mGoogleApiClient,
                    getGeofencePendingIntent()
            ).setResultCallback(this);

            LocationServices.GeofencingApi.addGeofences(
                    mGoogleApiClient,
                    getGeofencingRequest(),
                    getGeofencePendingIntent()
            ).setResultCallback(this); // Result processed in onResult().
Run Code Online (Sandbox Code Playgroud)

或者我可以直接打电话addGeofences而不删除旧的,并让新的替换旧的?

android geofencing android-geofence

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

Ruby Divide总是在Rails Axlsx Export中返回Zero

我不能为我的生活弄清楚为什么划分不适用于这个Aslsx出口.我可以添加,减去,复数和模数除法很好,但是当我尝试做answer_number / question_number它总是出现为0.任何想法我做错了什么?

工作吐出answer_number时间question_number:

@survey.questions.each do |question|
        question_number = Choice.where(question_id: question.id).length
        question.answers.each do |answer|
            answer_number = Choice.where(answer_id: answer.id).length
            sheet.add_row [answer_number, question_number, answer_number * question_number]
        end
    end
Run Code Online (Sandbox Code Playgroud)

不起作用 - 吐出0:

@survey.questions.each do |question|
        question_number = Choice.where(question_id: question.id).length
        question.answers.each do |answer|
            answer_number = Choice.where(answer_id: answer.id).length
            sheet.add_row [answer_number, question_number, answer_number / question_number]
        end
    end
Run Code Online (Sandbox Code Playgroud)

我也认为,当数字小于0时,它可能正在进行某种舍入,但这似乎也不起作用(最终目标是获得每个答案的百分比):

@survey.questions.each do |question|
        question_number = Choice.where(question_id: question.id).length
        question.answers.each do |answer|
            answer_number = Choice.where(answer_id: answer.id).length
            sheet.add_row [answer_number, question_number, answer_number / question_number * 100] …
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails axlsx

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

Rails访问哈希值

我正在玩Netflix的Workflowable宝石.现在我正在制作一个自定义动作,用户可以选择.

我最终{"id":1,"value":"High"}退出了@options[:priority][:value]

我想要做的是获取id值为1.任何想法如何把它拉出来?我试过@options[:priority][:value][:id]但似乎是因为错误.

这是动作的样子/我如何记录值:

class Workflowable::Actions::UpdateStatusAction < Workflowable::Actions::Action
  include ERB::Util
  include Rails.application.routes.url_helpers

  NAME="Update Status Action"
  OPTIONS = {
      :priority => {
        :description=>"Enter priority to set result to",
        :required=>true,
        :type=>:choice,
        :choices=>[{id: 1, value: "High"} ]
      }
    }

  def run
    Rails.logger.debug @options[:priority][:value]
  end

end
Run Code Online (Sandbox Code Playgroud)

这是错误:

Error (3a7b2168-6f24-4837-9221-376b98e6e887): TypeError  in ResultsController#flag
no implicit conversion of Symbol into Integer
Run Code Online (Sandbox Code Playgroud)

这是@options[:priority]看起来像:

{"description"=>"Enter priority to set result to", "required"=>true, "type"=>:choice, "choices"=>[{"id"=>1, "value"=>"High"}], "value"=>"{\"id\":1,\"value\":\"High\"}", "user_specified"=>true}
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails

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

Android DatePicker 旋转器不显示

我现在正在关注 Big Nerd Ranch Android 编程一书。我目前正在尝试让 DatePicker 片段显示为微调器。它似乎不断显示日历视图,我不明白为什么。有什么想法我做错了吗?

布局:

<?xml version="1.0" encoding="utf-8"?>
<DatePicker
    android:id="@+id/dialog_date_datePicker"
    android:spinnersShown="true"
    android:calendarViewShown="false"
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content">

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

我如何创建它:

public class DatePickerFragment extends DialogFragment {
    @Override
    public Dialog onCreateDialog(Bundle savedInstanceState) {
        View v = getActivity().getLayoutInflater()
                .inflate(R.layout.dialog_date, null);

        return new AlertDialog.Builder(getActivity())
                .setView(v)
                .setTitle(R.string.date_picker_title)
                .setPositiveButton(android.R.string.ok, null)
                .create();
    }
}
Run Code Online (Sandbox Code Playgroud)

android datepicker

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

Rails 按 SQL 排序

我有一个 TraitQuestion 模型,它有许多特征或答案 - 每个特征或答案都有一个值,例如 1、2、3 或 -3105(对于上述任何一个)。我无法更改这些值,因为外部 API 需要它们。

我想按值对它们进行排序,但是当我这样做时,-3105 的答案显示在顶部,即使它说“以上都不是”:

Answer 4 = -3105
Answer 1 = 1
Answer 2 = 2
Answer 3 = 3
Run Code Online (Sandbox Code Playgroud)

关于我们如何订购它的任何想法,以便它

1
2
3
-3105?
Run Code Online (Sandbox Code Playgroud)

我对 SQL 很陌生,但似乎我应该能够做这样的事情:

@trait_question.traits.order('CASE WHEN value AS int > 0 then 1 ELSE 0 END')
Run Code Online (Sandbox Code Playgroud)

但这不起作用。有什么想法可以调整顺序调用 SQL 以便按正确的顺序对它们进行排序吗?

编辑:这是通过 Amazon AWS 的 Postgresql 9.4.1

sql ruby-on-rails

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

Rails 在控制器中异步执行任务

当我的路线Controller被调用时,我需要完成三项任务。现在我的代码看起来像这样(缩写):

 def set_quotas

    TaskOne.new().ex
    TaskTwo.new().ex
    TaskThree.new().ex

    quotas = @user.quotas
    render json: quotas, status: 200, each_serializer: Api::V1::QuotaSerializer
  end
Run Code Online (Sandbox Code Playgroud)

每个任务按顺序运行。但是,其中一些呼叫外部服务。因此,完成此调用所需的总时间最终为 4-8 秒,我们真的想加快速度。

我想做的是同时运行所有三个任务,但要等到每个任务都完成后再呈现json响应。在 Rails 中完成此任务的最佳方法是什么?

ruby-on-rails

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

Rails Heroku Migration Stuck

在大约30分钟前推送到heroku之后,我们似乎无法在rails控制台中执行任何操作或执行迁移.

我能够做到 heroku run rake db:migrate

它似乎开始:

heroku run rake db:migrate
Running rake db:migrate on app... up, run.8092
  ActiveRecord::SchemaMigration Load (1.4ms)  SELECT "schema_migrations".* FROM "schema_migrations"
Migrating to AddQuestionsCountToCampaigns (20160215204320)
   (0.9ms)  BEGIN
== 20160215204320 AddQuestionsCountToCampaigns: migrating =====================
-- add_column(:campaigns, :questions_count, :integer)
Run Code Online (Sandbox Code Playgroud)

但它只是挂在那里,从未真正完成.

同样我可以连接到导轨C,但我不能做任何事情像Campaign.newCampaign.last.它只是挂在那里:

Loading production environment (Rails 4.2.0)
irb(main):001:0> Campaign.new
Run Code Online (Sandbox Code Playgroud)

从来没有做过任何事.

可能会发生什么想法?分期工作正常.日志似乎也在工作,我没有看到任何崩溃.我也试过了heroku restart,这似乎没有帮助.

添加迁移:

class AddQuestionsCountToCampaigns < ActiveRecord::Migration
  def change
    add_column :campaigns, :questions_count, :integer
    add_index :campaigns, :questions_count
  end
end
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails heroku

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

Rails字符串替换URL参数

假设我有一个字符串:

url = "https://example.com/user/tr_auth.php?key=34432&cmp_id=344&tr_id={user_id}"
Run Code Online (Sandbox Code Playgroud)

我想更新cmp_id=344要说的cmp_id=44553.实现这一目标的最佳方法是什么?我不能gsub per say因为我不知道cmp_id可能是什么,只是它将是字符串中的URL参数.

好像我想做点什么

uri = URI.parse(url)
params = CGI.parse(uri.query)
Run Code Online (Sandbox Code Playgroud)

但是,如何重新构建字符串交换cmp_id参数44553

谢谢!

ruby ruby-on-rails

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

android intent setFlags问题

我遇到了一些意图的代码,该意图启动了一个新活动,该活动直接包含一个带有int的意图: intent.setFlags(268435456);

而不是适当的Intent.FLAG_ACTIVITY_NEW_TASK或有什么。

弄清楚此int实际等于什么的最佳方法是什么,以便我们不会通过设置错误的应用程序来破坏应用程序?我想整理一下这段代码。

android android-intent android-activity

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