我正在尝试将Camera App存储到我的内部存储器中.我也理解第三方应用程序无法访问我的应用程序的内部存储,但我们可以通过公开内部目录来实现FileProvider
.我在这里遵循了指南:
我AndroidManifest.xml
用以下方式指定我:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.stackoverflow.test.camerawithfileprovider" >
<application>
<activity
...
</activity>
<provider
android:name="android.support.v4.content.FileProvider"
android:authorities="com.stackoverflow.test.camerawithfileprovider.fileprovider"
android:exported="false"
android:grantUriPermissions="true" >
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_provider_path" />
</provider>
</application>
</manifest>
Run Code Online (Sandbox Code Playgroud)
我创建了一个名为xml文件file_provider_path.xml
中/res/xml/
:
<?xml version="1.0" encoding="utf-8"?>
<paths xmlns:android="http://schemas.android.com/apk/res/android">
<files-path name="image_capture" path="public/" />
</paths>
Run Code Online (Sandbox Code Playgroud)
这就是我创建和调用Camera Intent的方法:
private static final int CAMERA_REQUEST_CODE = 5000;
private static final String CAMERA_FP_AUTHORITY = "com.stackoverflow.test.camerawithfileprovider.fileprovider";
Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE);
Context context = MainActivity.this;
File imagePath = new File(context.getFilesDir(), …
Run Code Online (Sandbox Code Playgroud) 我BottomSheet
使用这种DialogFragment
方法实现了.我有一个TabLayout
和ViewPager
在BottomSheet
.该ViewPager
托管2页,每一个膨胀RecyclerView
.第一个(咖啡标签)RecyclerView
滚动很好.我现在遇到的问题是,对于第二个(Milk选项卡),滚动不起作用.知道我该如何解决这个问题?谢谢!
您可以使用我在这里创建的演示项目进行测试:https:// github.com/choongyouqi/ bottomsheet`
从常量十六进制创建字节数组是否有更好/更短的方式比下面的版本?
byteArrayOf(0xA1.toByte(), 0x2E.toByte(), 0x38.toByte(), 0xD4.toByte(), 0x89.toByte(), 0xC3.toByte())
Run Code Online (Sandbox Code Playgroud)
我试图把0xA1
没有,.toByte()
但我收到语法错误投诉说integer literal does not conform to the expected type Byte
.放整数很好,但我更喜欢十六进制形式,因为我的源是十六进制字符串.任何提示将不胜感激.谢谢!
如何在日食中增加垂直滚动速度?目前,每个滚动刻度线滚动一行.我试图在Windows中搜索"鼠标" - >首选项但没有找到结果.在我的控制面板 - >鼠标 - >滚轮 - >垂直滚动中,一次的行数设置为"3".我正在使用Eclipse Kepler build 20130614-0229.感谢任何帮助.
http://developer.android.com/reference/android/R.attr.html#screenOrientation
sensorPortait是错字吗?我看到引导人们使用sensorPortrait的线程,但我的eclipse与sensorPortait一起工作.
有一个房间道如下
@Dao
public abstract class AccountDao {
@Query("SELECT * FROM Account LIMIT 0,1")
public abstract Account readAccount();
}
Run Code Online (Sandbox Code Playgroud)
get()
和by lazy
以下样本之间有什么区别?
open val account: LiveData<Account>
get() = accountDao.readAccount()
Run Code Online (Sandbox Code Playgroud)
open val account: LiveData<Account> by lazy { accountDao.readAccount() }
Run Code Online (Sandbox Code Playgroud) 我试图减去两个日期并期望一些浮动值返回.但我得到的回报如下:
+000000000 00:00:07.225000
Run Code Online (Sandbox Code Playgroud)
将值乘以86400(我希望得到第二个差异)是获得更奇怪的值返回:
+000000007 05:24:00.000000000
Run Code Online (Sandbox Code Playgroud)
任何的想法?我怀疑是否与类型铸造有关.
我有一个每日图表,跨越00:00到23:59.但是对于实时数据,假设当前是9AM,默认情况下它将从00:00到09:00拉伸图形,这对我来说不太好看.我想要的是同一天23:59的x轴最大值,因此它将显示为09:00 - 23:59为空白.我试过$graph["xAxis"]["max"] = (time()+86400)*1000
但没有用.有什么建议吗?谢谢!
我不确定我是否ViewModel
正确理解 Android 中的架构。我认为 ViewModel 生命周期与活动相关,因此我们期望相同的实例,并且如果我们将活动或片段上下文传递给ViewModelProvider
?
无论如何,这是我的 ViewModel:
class MainViewModel : ViewModel() {
var teamName: String = "Warriors";
}
Run Code Online (Sandbox Code Playgroud)
这是我的活动:
class MainActivity : AppCompatActivity() {
private lateinit var viewModel: MainViewModel
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_activity)
viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)
viewModel.teamName = "Cavaliers";
Log.d("YouQi", "activity viewModel.teamName: ${viewModel.teamName}");
if (savedInstanceState == null) {
supportFragmentManager.beginTransaction()
.replace(R.id.container, MainFragment.newInstance())
.commitNow()
}
}
}
Run Code Online (Sandbox Code Playgroud)
最后这是我的片段:
class MainFragment : androidx.fragment.app.Fragment() {
companion object {
fun newInstance() = MainFragment()
}
private lateinit var viewModel: …
Run Code Online (Sandbox Code Playgroud) 由于 Android Studio Arctic Fox 最近已达到稳定状态,因此我们的团队决定进行切换。然而,我们在升级我们的项目以使用最新的 AGP 时遇到了一些障碍,从4.2.1
到7.0.0
下面是我们的旧app/build.gradle.kts
:
android {
flavorDimensions("environment")
productFlavors {
create("development") {
dimension("environment")
...
}
create("staging") {
dimension("environment")
...
}
create("production") {
dimension("environment")
...
}
}
}
Run Code Online (Sandbox Code Playgroud)
我们设法替换dimension("environment")
为dimension = "environment"
,但我们无法对 使用相同的方法flavorDimensions
。
flavorDimensions = listOf("environment") // syntax error because it's immutable
Run Code Online (Sandbox Code Playgroud)
任何帮助将不胜感激。
我在Google云端有一个现有项目,只展示了这三项功能:App Engine,BigQuery和Cloud Datastore.无法从Google API控制台访问该项目(未在下拉列表中显示).如何将Google云端存储添加到此项目中?
*如果我现在在Google云端或Google API中创建新项目,它将随App Engine,计算引擎,云存储,BigQuery,API,云数据存储和Cloud SQL一起提供.但是我想要使用我现有的项目,因为它已经列入白名单以使用gaeforphp.
谢谢.
assetlinks.json
如果我使用 firebase 为动态链接提供的域,如何修改?它是可以访问的,目前它返回空数组:
firebase firebase-dynamic-links android-deep-link android-app-links
android ×5
kotlin ×3
android-room ×1
bottom-sheet ×1
eclipse ×1
firebase ×1
google-api ×1
highcharts ×1
javascript ×1
oracle ×1
scroll ×1
subtraction ×1
timestamp ×1