我刚刚在android中进行了本机开发.我成功地将我的AndroidStudio 2.2.2准备好用于本机开发
我还构建了示例hello-jni项目
我想要实现的目标
我正在尝试使用用c ++设计的现有库(我将提供静态库.a扩展名或.so文件)
关于本土发展的几点混乱
1)我应该使用现有c ++库的.cpp和.h文件而不是.a或.so文件吗?
2)我是否需要制作CMakeLists.text:据我搜索我的.a文件不是使用ndk-build生成的,所以我需要制作它.
如果我使用.cpp和.h文件,我应该制作Android.mk和Application.mk
CMakeLists.text是否将我新开发的android项目编译为库或我现有的.a文件?
3)我在哪里将.a文件放在我的项目中.它在jni文件夹下吗?
4)我的java类文件是否应该定义具有与c ++文件中实现的关键字本机相同的方法(例如:在c ++文件方法名称getData()中,java类应该包含公共本机getData())
我正在开发一个提醒,它会在固定时间向用户发送通知.
警报瞬间下降......
我尝试了大部分建议stackoverflow
,但仍然遇到同样的问题
请帮我解决这个问题.
服务器数据
user_reminder": [
{
"id": "75",
"name": "Morning Snacks",
"time": "11:00:00",
"days": "1,2,3,4,5,6,7",
"user_id": "14"
},
{
"id": "76",
"name": "Lunch",
"time": "13:00:00",
"days": "1,2,3,4,5,6,7",
"user_id": "14"
},
......
]
Run Code Online (Sandbox Code Playgroud)
我的代码
for (int i = 0; i < reminderList.size(); i++)
{
String time = reminderList.get(i).getTime(); // "time": "11:00:00"
String strSpit[] = time.split(":");
String strDays[] = reminderList.get(i).getDays().split(","); //"days": "1,2,3,4,5,6,7"
Date date = new Date();
Calendar calNow = Calendar.getInstance();
calNow.setTime(date);
Calendar calAlarm = Calendar.getInstance();
calAlarm.set(Calendar.HOUR_OF_DAY, Integer.parseInt(strSpit[0])); …
Run Code Online (Sandbox Code Playgroud) 我正在尝试从服务器下载一些 .pdf 文件到download
文件夹
在某些设备上随机抛出此异常
Xiomi 运行 android (8,7,6):97% 仅在此设备中崩溃
已授予存储运行时权限并且可以正常工作
我发现某些设备即使在运行时许可后也无法工作
文件路径.xml
<?xml version="1.0" encoding="utf-8"?>
<paths>
<files-path
name="images"
path="images/" />
<external-files-path
name="share"
path="share/" />
<external-files-path
name="reminder_images"
path="reminder_images/" />
</paths>
Run Code Online (Sandbox Code Playgroud)
安卓清单
<provider
android:name="androidx.core.content.FileProvider"
android:authorities="${applicationId}.provider"
android:exported="false"
android:grantUriPermissions="true">
<meta-data
android:name="android.support.FILE_PROVIDER_PATHS"
android:resource="@xml/file_paths" />
</provider>
Run Code Online (Sandbox Code Playgroud)
堆栈跟踪
Caused by java.lang.SecurityException: Unsupported path /storage/emulated/999/Download/Somefile.pdf
at android.os.Parcel.readException(Parcel.java:2013)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:183)
at android.database.DatabaseUtils.readExceptionFromParcel(DatabaseUtils.java:135)
at android.content.ContentProviderProxy.insert(ContentProviderProxy.java:476)
at android.content.ContentResolver.insert(ContentResolver.java:1555)
at android.app.DownloadManager.enqueue(DownloadManager.java:1163)
at com.esafirm.rxdownloader.RxDownloader.download(RxDownloader.java:83)
at com.esafirm.rxdownloader.RxDownloader.download(RxDownloader.java:60)
at in.okcredit.app.ui.account.AccountActivity.onReportGenerated(AccountActivity.java:320)
at in.okcredit.app.ui.account.AccountPresenter$1.onSuccess(AccountPresenter.java:118)
at in.okcredit.app.ui.account.AccountPresenter$1.onSuccess(AccountPresenter.java:111)
at io.reactivex.internal.operators.single.SingleObserveOn$ObserveOnSingleObserver.run(SingleObserveOn.java:81)
at io.reactivex.android.schedulers.HandlerScheduler$ScheduledRunnable.run(HandlerScheduler.java:119)
at android.os.Handler.handleCallback(Handler.java:794)
at android.os.Handler.dispatchMessage(Handler.java:99)
at …
Run Code Online (Sandbox Code Playgroud) 我对工作ViewPager
有6个tabs
地方只有一个片段TimesListFragment
根据传递给TimesListFragment
它的参数调用api eg; 科学,技术,旅行等
我已经GithubBrowserSample
为我的应用关注了Google的
我有TimesListFragment
-> TimesViewModel
->TimesRepository
有6个标签,当我点击api时,所有标签都显示相同的结果,如果最后一个 argument
StoriesPagerAdapter.kt
class StoriesPagerAdapter(fragmentManager: FragmentManager?)
:FragmentStatePagerAdapter(fragmentManager){
private val sections= arrayListOf("science","technology","business","world","movies","travel")
override fun getItem(position: Int): Fragment {
return TimesListFragment.newInstance(sections[position])
}
override fun getCount(): Int {
return sections.size
}
override fun getPageTitle(position: Int): CharSequence? {
return sections[position]
}
}
Run Code Online (Sandbox Code Playgroud)
问题:所有选项卡都显示travel
参数数据
TimesViewModel
class TimesViewModel @Inject constructor(private val timesRepository: TimesRepository) :
ViewModel() {
lateinit var data: LiveData<Resource<TimesStoriesResponse>>
fun fetchStories(section:String): LiveData<Resource<TimesStoriesResponse>> { …
Run Code Online (Sandbox Code Playgroud) android android-viewpager android-livedata android-viewmodel
我正在尝试将文件从服务器下载到Download
andorid 的文件夹中
正如预期的那样工作正常
问题
当用户克隆我的应用程序(双应用程序)时,克隆的应用程序(第二个应用程序)抛出SecurityException: Unsupported path /storage/emulated/999/Download/somefile.pdf
研究
设备:红米5
应用程序:文件管理器(系统应用程序)
我找到了 2 个选项
仍然我的应用程序抛出SecurityException
我得到这个错误Recyclerview
的production
,但不知道究竟在类
我做了什么
谷歌它发现https://issuetracker.google.com/issues/38375597,其中人们说它的android bug并修复了support lib 27.1.0
我更新了我的支持lib和buildVersion
support : '27.1.0',
buildToolsVersion: '27.0.3',
compileSdkVersion : 26,
Run Code Online (Sandbox Code Playgroud)
这种崩溃仍然发生
错误日志
Fatal Exception: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.support.v7.widget.GapWorker.remove(android.support.v7.widget.RecyclerView)' on a null object reference
at android.support.v7.widget.RecyclerView.onDetachedFromWindow(RecyclerView.java:2534)
at android.view.View.dispatchDetachedFromWindow(View.java:13586)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2849)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewGroup.dispatchDetachedFromWindow(ViewGroup.java:2846)
at android.view.ViewRootImpl.dispatchDetachedFromWindow(ViewRootImpl.java:3076)
at android.view.ViewRootImpl.doDie(ViewRootImpl.java:5709)
at android.view.ViewRootImpl.die(ViewRootImpl.java:5686)
at android.view.WindowManagerGlobal.removeViewLocked(WindowManagerGlobal.java:387)
at android.view.WindowManagerGlobal.removeView(WindowManagerGlobal.java:342)
at android.view.WindowManagerImpl.removeViewImmediate(WindowManagerImpl.java:116)
at android.app.ActivityThread.handleDestroyActivity(ActivityThread.java:3893)
at …
Run Code Online (Sandbox Code Playgroud) 我在用 constraintLayout
我希望我的一个观点能够看到另一个观点的高度
我希望自己有权利Textview
采取左翼的高度TextView
我的代码:
<TextView
android:id="@+id/tv_cal_consumed"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_margin="10dp"
android:layout_marginTop="10dp"
android:background="@drawable/button_selector_curved"
android:drawableLeft="@drawable/ic_add"
android:drawablePadding="5dp"
android:gravity="start"
android:padding="10dp"
android:text="@string/cal_consumed"
android:textColor="@color/white"
android:textSize="@dimen/text_small"
android:textStyle="normal"
android:typeface="normal"
app:layout_constraintHorizontal_chainStyle="spread_inside"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/tv_cal_burnt"
app:layout_constraintTop_toBottomOf="@+id/con_info" />
<TextView
android:id="@+id/tv_cal_burnt"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginRight="10dp"
android:background="@drawable/button_selector_curved"
android:drawableLeft="@drawable/ic_add"
android:drawablePadding="5dp"
android:gravity="start"
android:padding="10dp"
android:text="@string/cal_burnt"
android:textColor="@color/white"
android:textSize="@dimen/text_small"
android:textStyle="normal"
android:typeface="normal"
app:layout_constraintTop_toTopOf="@+id/tv_cal_consumed"
app:layout_constraintLeft_toRightOf="@+id/tv_cal_consumed"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintBottom_toBottomOf="@+id/tv_cal_consumed" />
Run Code Online (Sandbox Code Playgroud)
当前输出:
我正在处理我发送waypoints
到Gmaps
应用程序的功能,Intent
以便使用可以通过waypoints
我发送的自定义导航到目标
当我在嵌入式中绘制这条路线时Google Maps
,我可以看到Circuit route
,但是当我在Gmaps
应用程序中看到相同的路线时,它就Circuit
被打破了.
我的代码:
String srcAdd = "saddr="+latLngArrayList.get(0).latitude+","+latLngArrayList.get(0).longitude;
String desAdd = "&daddr="+latLngArrayList.get(latLngArrayList.size() - 1).latitude+","+latLngArrayList.get(latLngArrayList.size() - 1).longitude;
String wayPoints = "";
for (int j = 1; j < latLngArrayList.size() - 1; ++j) {
wayPoints =wayPoints+"+to:"+latLngArrayList.get(j).latitude+","+latLngArrayList.get(j).longitude;
}
String link="https://maps.google.com/maps?"+srcAdd+desAdd+wayPoints;
final Intent intent = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse(link));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
intent.setClassName("com.google.android.apps.maps", "com.google.android.maps.MapsActivity");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
我第一次致力于Github Action
在 Android 中设置 CI/CD 工作流程
我有一个现有的Python script
生Change log
成为HTML String out put
.
我想在 github action 中使用它并接收更改日志作为字符串输出。
我有这样的事情
- name: Generate Change logs
id: changelogs
working-directory: .github/workflows/
run: python release_mail_generator.py ${{ secrets.GITHUB_TOKEN }} v2.21
Run Code Online (Sandbox Code Playgroud)
想使用这样的东西来获取changelog
字符串作为输出
- name: Generate Change logs
id: changelogs
working-directory: .github/workflows/
run: echo "::set-output name=changelog::$(echo python release_mail_generator.py ${{ secrets.GITHUB_TOKEN }} v2.21)"
Run Code Online (Sandbox Code Playgroud)
我的python脚本
from __future__ import print_function
import sys
from collections import defaultdict
from github import Github
# Install …
Run Code Online (Sandbox Code Playgroud) python workflow continuous-integration android github-actions
android ×9
.a ×1
.so ×1
alarmmanager ×1
android-ndk ×1
google-maps ×1
java ×1
python ×1
workflow ×1