我想开发一个即使使用 dpad 也能 100% 运行的应用程序,但不适用于电视设备,所以我不想依赖 Leanback 库。我已经遵循了这里的指南,以便集中我的 UI 的正确元素。
\n\n我正在使用支持设计库,但我的设计遇到了一些问题NavigationView:
这就是我正在做的处理焦点的事情:
\n\nprivate void initDrawer(){\n drawerLayout = (DrawerLayout)findViewById(R.id.drawer_layout);\n navigationView = (NavigationView)findViewById(R.id.navigation_view);\n navigationView.setNavigationItemSelectedListener(this);\n drawerToggle = new ActionBarDrawerToggle(MainActivity.this, drawerLayout, R.string.app_name, R.string.app_name){\n @Override\n public void onDrawerOpened(View drawerView) {\n super.onDrawerOpened(drawerView);\n //This is not working properly\n navigationView.requestFocus();\n }\n\n @Override\n public void onDrawerClosed(View drawerView) {\n super.onDrawerClosed(drawerView);\n //This seems to work\n mContentLayout.requestFocus();\n }\n };\n drawerLayout.setDrawerListener(drawerToggle);\n}\nRun Code Online (Sandbox Code Playgroud)\n\n这就是我正在做的使用硬件按钮切换抽屉打开/关闭的操作:
\n\n@Override\npublic boolean onKeyUp(int keyCode, KeyEvent event){\n if(keyCode==KeyEvent.KEYCODE_BUTTON_Y){\n …Run Code Online (Sandbox Code Playgroud) android android-support-library androiddesignsupport android-navigationview
在我正在开发的应用程序中,我需要遍历已安装的应用程序并检测哪些是游戏.有没有办法做到这一点?
我想到了Play Store API,它可以搜索包名并返回其类别,即使它仅限于商店中的应用程序.有类似的东西吗?可能吗?
有没有其他方法可以做到这一点?
我需要检测一个应用程序是否已启动,并且我已经读过API中没有任何内容可以实现这一点.有人建议给应用程序读取日志的权限并继续轮询它们,但是这个解决方案从JB开始就不起作用了.我还发现,因为我只需要知道顶部应用程序是否更改我可以执行以下操作:
ActivityManager am = (ActivityManager)getSystemService(Context.ACTIVITY_SERVICE);
String str = ((ActivityManager.RunningTaskInfo)am.getRunningTasks(1).get(0)).topActivity.getPackageName();
Run Code Online (Sandbox Code Playgroud)
但我需要知道哪种方式最适合进行连续轮询,当然 - 如果还有其他方法可以做到这一点.
我正在学习使用theano.我想通过计算其中每个元素的二进制TF-IDF来填充term-document矩阵(numpy稀疏矩阵):
import theano
import theano.tensor as T
import numpy as np
from time import perf_counter
def tfidf_gpu(appearance_in_documents,num_documents,document_words):
start = perf_counter()
APP = T.scalar('APP',dtype='int32')
N = T.scalar('N',dtype='int32')
SF = T.scalar('S',dtype='int32')
F = (T.log(N)-T.log(APP)) / SF
TFIDF = theano.function([N,APP,SF],F)
ret = TFIDF(num_documents,appearance_in_documents,document_words)
end = perf_counter()
print("\nTFIDF_GPU ",end-start," secs.")
return ret
def tfidf_cpu(appearance_in_documents,num_documents,document_words):
start = perf_counter()
tfidf = (np.log(num_documents)-np.log(appearance_in_documents))/document_words
end = perf_counter()
print("TFIDF_CPU ",end-start," secs.\n")
return tfidf
Run Code Online (Sandbox Code Playgroud)
但numpy版本比theano实现快得多:
Progress 1/43
TFIDF_GPU 0.05702276699594222 secs.
TFIDF_CPU 1.454801531508565e-05 secs.
Progress 2/43
TFIDF_GPU 0.023830442980397493 secs.
TFIDF_CPU 1.1073017958551645e-05 …Run Code Online (Sandbox Code Playgroud) 在我的代码中,我使用theano来计算欧氏距离矩阵(此处的代码):
import theano
import theano.tensor as T
MAT = T.fmatrix('MAT')
squared_euclidean_distances = (MAT ** 2).sum(1).reshape((MAT.shape[0], 1)) + (MAT ** 2).sum(1).reshape((1, MAT.shape[0])) - 2 * MAT.dot(MAT.T)
f_euclidean = theano.function([MAT], T.sqrt(squared_euclidean_distances))
def pdist_euclidean(mat):
return f_euclidean(mat)
Run Code Online (Sandbox Code Playgroud)
但是下面的代码会导致矩阵的某些值NaN.我已经读过,计算时会发生这种情况,theano.tensor.sqrt()并建议在这里进行
在sqrt中添加eps(或max(x,EP))
所以我在代码中添加了一个eps:
import theano
import theano.tensor as T
eps = 1e-9
MAT = T.fmatrix('MAT')
squared_euclidean_distances = (MAT ** 2).sum(1).reshape((MAT.shape[0], 1)) + (MAT ** 2).sum(1).reshape((1, MAT.shape[0])) - 2 * MAT.dot(MAT.T)
f_euclidean = theano.function([MAT], T.sqrt(eps+squared_euclidean_distances))
def pdist_euclidean(mat):
return f_euclidean(mat)
Run Code Online (Sandbox Code Playgroud)
而且我在表演前添加它 …
我正在将我的应用程序迁移到最新的v7支持库,并提供材料设计支持.
我有一个简单的菜单,我希望在我的菜单中显示ActionBar.
<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
android:id="@+id/platformselect_button_settings"
android:icon="@drawable/ic_action_settings"
android:orderInCategory="1"
android:showAsAction="always"
android:title="@string/menu_settings"/>
</menu>
Run Code Online (Sandbox Code Playgroud)
问题是showAsAction首选项被忽略,我必须做的是使其工作是强制onCreateOptionsMenu方法中的首选项:
@Override
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().inflate(R.menu.platformselect_overflow_menu, menu);
for(int i = 0;i<menu.size();i++){
MenuItemCompat.setShowAsAction(menu.getItem(i), MenuItemCompat.SHOW_AS_ACTION_ALWAYS);
}
return super.onCreateOptionsMenu(menu);
}
Run Code Online (Sandbox Code Playgroud)
难道我做错了什么?为什么忽略存储在XML中的首选项?
android android-appcompat android-menu android-support-library
我在 Vuex 模块中声明了一个动作:
storeBudgets(store: ActionContext<State, any>) {
return axiosAuth.get('/budget')
.then((res) => {
store.commit('setBudgets', res.data.budgets);
});
}
Run Code Online (Sandbox Code Playgroud)
其中 axiosAuth 是 axios 的自定义实例:
import axios from 'axios';
import store from './store/index';
const axiosAuth = axios.create({
baseURL: 'http://localhost:3000',
});
axiosAuth.interceptors.request.use((config) => {
config.headers['x-access-token'] = store.getters.getUserToken;
return config;
});
export default axiosAuth;
Run Code Online (Sandbox Code Playgroud)
我在其他 vuex 商店模块中使用这个 axios 实例没有任何问题,但是对于这个特定模块中的这个特定操作,我收到以下错误:
TypeError: rawModule is undefined
Run Code Online (Sandbox Code Playgroud)
一旦我评论了对 axiosAuth 的引用,错误就会消失。
我认为这个问题与我在 axios 拦截器中引用 store 的事实有关,因为注释该config.headers行会使应用程序加载没有任何问题。
我正在从 TypeScript 代码库中的 JavaScript 项目迁移此逻辑,并且之前的实现没有任何问题。
我的代码是:
$query = "SELECT a.hash, a.full, a.partial, a.servers, a.lastupd, b.full, b.partial, b.servers, b.lastupd FROM table1 AS a, table2 AS b WHERE a.hash='".$hashcode."' AND a.hash=b.hash;";
$result = mysql_query($query);
Run Code Online (Sandbox Code Playgroud)
然后我表演了
print_r(mysql_fetch_array($result));
Run Code Online (Sandbox Code Playgroud)
我得到了这个奇怪的输出:
Array
(
[0] => blah
[hash] => blah
[1] => 1,1,1
[full] => 0,1
[2] => 1,2,1
[partial] => 4,2
[3] => srv1,srv2,srv3
[servers] => srv2,srv3
[4] => 0000-00-00 00:00:00
[lastupd] => 0000-00-00 00:00:00
[5] => 0,1
[6] => 4,2
[7] => srv2,srv3
[8] => 0000-00-00 00:00:00
)
Run Code Online (Sandbox Code Playgroud)
为什么有数据重复的b …