我正在尝试找到一种方法来自动添加小部件,而无需用户通过启动器手动将其添加到主页或锁定屏幕(最好是两者,但至少锁定屏幕).
这是我必须将小部件添加到主屏幕.我错过了什么?
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) 当我的服务器知道它是跨应用程序的同一用户时,我有几个应用程序可以提供最佳用户体验.要验证用户是谁,每个用户都有一个user_token字符串,该字符串在加载应用程序时发送到我的服务器.
我正试图找出在应用程序之间共享此字符串的最佳方式.看起来Content Provider是在应用程序之间共享数据的最佳方式,但SQLite数据库对于存储/检索字符串似乎有点过分.
我在Android-Dev IRC上问了同样的问题,我建议我使用SharedPreferences - 但是在查看其他一些SO帖子时,不建议这样做.
最好的方法是什么?如果它是内容提供者,任何想法我应该使用什么样的数据结构来存储字符串?
提前致谢!
有没有一种方法可以使用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)
但这会引发错误。
使用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的宽度.我事先并不知道我将要有多少列使用(动态数据)所以我希望能够将其设置为仅将所有列自动调整为一定宽度.
在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而不删除旧的,并让新的替换旧的?
我不能为我的生活弄清楚为什么划分不适用于这个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) 我正在玩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) 我现在正在关注 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) 我有一个 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
当我的路线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 中完成此任务的最佳方法是什么?
在大约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.new或Campaign.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) 假设我有一个字符串:
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?
谢谢!
我遇到了一些意图的代码,该意图启动了一个新活动,该活动直接包含一个带有int的意图:
intent.setFlags(268435456);
而不是适当的Intent.FLAG_ACTIVITY_NEW_TASK或有什么。
弄清楚此int实际等于什么的最佳方法是什么,以便我们不会通过设置错误的应用程序来破坏应用程序?我想整理一下这段代码。
android ×5
axlsx ×3
ruby ×2
datepicker ×1
excel ×1
geofencing ×1
heroku ×1
lockscreen ×1
sql ×1