我正在开始我的第一个Android应用程序,在阅读之后我明白为了唯一地识别应用程序需要Android应用程序所需的反向域名,但除了唯一标识应用程序之外,应用程序域名是否用于其他任何内容?
具体来说我很想知道
1)为应用程序内的活动使用不同域名的后果(特征或错误?)
2)用于网站的注册域名是否有任何关系?
3)填写我缺乏知识的任何其他片段:)
我有一个库项目,为许多需要相同数据库结构和功能的应用程序提供基本代码,我正在寻找实现它的最佳方法.我主要关心的是如何提供非静态权限,以便我可以使用使用该库的应用程序的包名称来覆盖它.
所以在库项目中我想我可以将以下常量更改为静态方法,这些方法将接受允许我从资源字符串或context.getPackageName方法获取权限的上下文
图书馆项目模型
public static final class Questions implements BaseColumns {
// public static final Uri CONTENT_URI =
// Uri.parse("content://" + Config.AUTHORITY + "/questions");
// use getAuthority instead which in turn will just get the package ae. Will this work?
public static Uri getContentUri(Context c){
return Uri.parse("content://" + getAuthority(c) + "/questions");
}
...
}
public static String getAuthority(Context c){
return c.getPackageName + ".QuizProvider";
}
Run Code Online (Sandbox Code Playgroud)
图书馆项目内容提供者
public class QuizProvider extends ContentProvider {
// private SQLiteDatabase mDB;
private static final String TAG …Run Code Online (Sandbox Code Playgroud) UPDATE
最初我使用ActionBarSherlock我已经使用原生的android操作栏创建了一个全新的项目来测试这个,我仍然遇到同样的问题.
我成功地显示/隐藏了项目而不是组.我很快得出结论,ActionBar中存在一个错误,无法以编程方式设置组的可见性
更新结束
给出以下菜单访问Group时,我得到一个空指针异常
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:id="@+id/action_settings"
android:title="@string/settings"
android:orderInCategory="100"
android:showAsAction="never"/>
<group android:id="@+id/mnu_text_group"
android:visible="false">
<item android:id="@+id/mnu_text_type"
android:enabled="true"
android:visible="true"
android:icon="@drawable/ic_action_text_icon"
android:showAsAction="always">
</item>
<item android:id="@+id/text_color"
android:enabled="true"
android:visible="true"
android:showAsAction="always"
android:icon="@drawable/ic_action_color_line">
</item>
</group>
<item android:id="@+id/mnu_images"
...
Run Code Online (Sandbox Code Playgroud)
在我所拥有的相关活动的onPrepareOptionsMenu中
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem mnuTextGroup = menu.findItem(R.id.mnu_text_group);
mnuImage.setEnabled(mEnableImageMenu);
mnuTextGroup.setVisible(false);
...
Run Code Online (Sandbox Code Playgroud)
调用mnuTextGroup.setVisible(false);引发空指针异常
但是,通过更改查找方法以查找组内的项目工作正常,MenuItem mnuTextGroup = menu.findItem(R.id.mnu_text_type);但显然这仅适用于特定项目.我知道组的设计正是为了这个目的,能够设置组的可见性并启用/禁用组内的所有项目,但我一直无法找到以编程方式执行此操作的方法.
我该如何以android:background="?android:attr/selectableItemBackground""编程方式完成?
我试过了mView.setBackgroundResource(android.R.attr.selectableItemBackground);,但没用.
在运行 Ubuntu 21.10 impish 的 Digital Ocean Droplet 上,我正在将一个简单的 Rails 7.0.0.alpha2 应用程序部署到生产环境。我将 nginx 设置为反向代理服务器,以与充当 Rails 服务器的 Puma 进行通信。
\n我希望使用 systemctl 将 puma 作为服务运行,而无需 sudo root 权限。为此,我在位于 的用户主文件夹中设置了 puma 服务~/.config/systemd/user,该服务已启用并按我期望的方式运行。
systemctl status --user puma_master_cms_production\nRun Code Online (Sandbox Code Playgroud)\n报告如下
\n\xe2\x97\x8f puma_master_cms_production.service - Puma HTTP Server for master_cms (production)\n Loaded: loaded (/home/comtechmaster/.config/systemd/user/puma_master_cms_production.service; enabled; vendor preset: enabled)\n Active: active (running) since Thu 2021-11-18 22:31:02 UTC; 1h 18min ago\n Main PID: 1577 (ruby)\n Tasks: 10 (limit: 2338)\n Memory: 125.1M\n CPU: 2.873s\n CGroup: …Run Code Online (Sandbox Code Playgroud) 如何在轨道发动机中使用顺风?根据文档,向 Rails 生成器提供 css 参数应该可以工作
使用 Rails 7.0.2.2 引擎生成
rails plugin new tailtest --mountable --full -d postgresql --css tailwind
Run Code Online (Sandbox Code Playgroud)
这会使用 Postgresql 生成引擎,但对 tailwind 根本不起作用,并且遵循手动安装说明也会失败。
根据文档运行,bundle add tailwindcss-rails将 tailwind 添加到 gemfile 而不是引擎 tailtest.gemspec 因此,在将依赖项添加到 gemspec 之后
spec.add_dependency "tailwindcss-rails", "~> 2.0"
Run Code Online (Sandbox Code Playgroud)
并且运行bundle install确实安装了引擎,但是其余的手动安装失败
然后将 require 添加到 lib/engine.rb
require "tailwindcss-rails"
module Tailtest
class Engine < ::Rails::Engine
isolate_namespace Tailtest
end
end
Run Code Online (Sandbox Code Playgroud)
然后运行安装过程失败
rails tailwindcss:install
Resolving dependencies...
rails aborted!
Don't know how to build task 'tailwindcss:install' (See the list …Run Code Online (Sandbox Code Playgroud) 我正在使用子域来确定Rails 4网站中的区域设置.我有一个完全按照我想要的方式使用区域设置切换器,但现在我需要翻译路线,我不确定最好的方法.
我查看了https://github.com/kwi/i18n_routing i18n路由gem,但这不适用于子域,它似乎通过添加/ locale来改变路径,这不是我需要的.
其他宝石似乎与Rails 4过时了.
编辑
基本上我希望能够使用相同的视图助手,但是更改URL以使用所选子域反映的任何语言.这只是路线翻译.
我有语言特定的模板,我可以生成语言的导航模板,但我真的不想担心改变erb路径和url erb标签
结束编辑
来自routes.rb的示例
scope module: 'countries', shallow: true do
get 'south_american', to: 'south_america#index', as: :south_america
scope module: 'south_america' do
get 'south-america-weather', to: 'weather#index', as: :south_america_weather
get 'south-america-gps-maps', to: 'gps#index', as: :south_america_gps
get 'south-america-accommodation', to: 'hotels#index', as: :south_america_hotels
get 'south-america-vacations', to: 'vacations#index', as: :south_america_vacations
get 'south-america-facts', to: 'facts#index', as: :south_america_facts
end
Run Code Online (Sandbox Code Playgroud)
以south_america_hotels_path为例,将生成一个url
南美 - 住宿
这很好,但我怎么翻译这个,以便当我在西班牙子域名south_america_hotels_path时将生成以下网址
酒店预订烯sudamerica
UPDATE
此外,这对于一个url而不仅仅是一个路径是如何工作的,以便生成south_america_hotels_url
en.some_site /南美,住宿
当我在西班牙的子域上时,我会得到
es.some_site /酒店预订烯sudamerica
对于涉及的不同语言环境等等.
我很乐意使用yml文件进行url的翻译或在routes.rb文件中定义其他路由,或者是一个选项,但我更喜欢在routes.rb中定义url,但我无法找到提供相同语言特定URL的方法:作为基于子域的路径/ url选项.
针对先前的答复进行更新和进一步澄清.
更改网址不是一个选项,他们需要匹配现有的网址.我只需要知道如何从视图助手的角度转换它们,而不必更改视图助手.
我在使用 rake 资产时遇到了 capistrano/sshkit 问题:调用我的 capistrano apply_theme 任务时未找到预编译生成命令 webpack
我已将 bin 文件夹签入源代码管理,并且我有节点版本 v12.18.1 和纱线版本 1.22.4
set :rvm_map_bins, [ 'rake', 'gem', 'bundle', 'ruby', 'puma', 'pumactl', 'webpack' ]
namespace :deploy do
desc 'Updating theme'
task apply_theme: [:set_rails_env] do
on roles(:app) do
within release_path do
with rails_env: fetch(:rails_env) do
execute :rake, 'write_css'
execute :rake, 'assets:precompile'
end
end
end
end
#etc...
Run Code Online (Sandbox Code Playgroud)
这在从 rails 6.0.3.2 更新到 6.1 alpha 之前已经有效
直接在服务器上运行时的以下工作
RAILS_ENV="production" bundle exec rake assets:precompile
Run Code Online (Sandbox Code Playgroud)
并生成
Compiling...
Compiled all packs in /home/comtechrcc/rawdoncc/releases/20200629090644/public/packs
Hash: b1c4524d882fd4ab2775
Version: …Run Code Online (Sandbox Code Playgroud) 我有一个访问我的数据库的内容提供程序,如果你需要处理记录集,这很好,但我需要一个方法来返回一个表示表中记录数的整数
该方法看起来像这样
public long getRecordCount(String TableName) {
SQLiteDatabase mDatabase = mOpenHelper.getReadableDatabase();
String sql = "SELECT COUNT(*) FROM " + TableName;
SQLiteStatement statement = mDatabase.compileStatement(sql);
long count = statement.simpleQueryForLong();
return count;
}
Run Code Online (Sandbox Code Playgroud)
但我无法在内容提供商中找到任何使用此方法(或任何其他不返回游标的方法),那么放置此方法的最佳位置以及如何调用它?
显然,我可以选择使用托管查询选择所有记录并使用cursor.count结果,这是一个非常糟糕的选择,但这是处理这个特定需求的一种非常低效的方法
谢谢
如何确保共享首选项菜单使用 UTF8?我有一个 android 首选项菜单,允许用户设置他们的名字等。
我需要知道如何将共享首选项中存储的数据转换为 UTF8 格式
首选项菜单使用 utf8 编码以 xml 格式布置在 res/xml 文件夹中名为 settings 的文件中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<PreferenceScreen
xmlns:android="http://schemas.android.com/apk/res/android">
<EditTextPreference
android:key="@string/name_key"
android:title="@string/hof_name_title"
android:summary="@string/hof_name_summary"
android:defaultValue="Anonymous" />
<CheckBoxPreference
android:key="@string/new_game_preference_key"
android:title="@string/new_game_preference_title"
android:summary="@string/new_game_preference_summary"
android:defaultValue="false" />
</PreferenceScreen>
Run Code Online (Sandbox Code Playgroud)
处理这个问题的类是
public class PrefsActivity extends PreferenceActivity implements OnSharedPreferenceChangeListener{
@Override
protected void onCreate(Bundle savedInstanceState) {
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
super.onCreate(savedInstanceState);
addPreferencesFromResource(R.xml.settings);
}
@Override
protected void onPause() {
super.onPause();
// Unregister the listener whenever a key changes
getPreferenceScreen().getSharedPreferences()
.unregisterOnSharedPreferenceChangeListener(this);
}
@Override
protected void onResume() {
super.onResume();
// Set up …Run Code Online (Sandbox Code Playgroud) android ×6
java ×2
capistrano ×1
database ×1
nginx ×1
puma ×1
rails-i18n ×1
routing ×1
tailwind-css ×1
utf-8 ×1
xml ×1