小编Cil*_*nco的帖子

SharedPreferences会覆盖其他值

我有一个问题SharedPreferences如果我想保存两个不同的值.我试过这段代码:

SharedPreferences sharedPref = getSherlockActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();

editor.putInt(getString(R.string.SavedStartSilentHour), hour);
editor.commit();

editor.putInt(getString(R.string.SavedStartSilentMinute), min);
editor.commit();

// One editor.commit() is enough
Run Code Online (Sandbox Code Playgroud)

如果我运行此代码,第一个值将被秒值覆盖.如果我删除第二部分,则正确保存值.这是为什么?

android android-preferences

5
推荐指数
1
解决办法
6097
查看次数

将事件添加到CalendarView

我认为问题就是这样:是否有可能在Android默认情况下显示事件CalendarView

我知道它是为小部件而不是真正的日历应用程序,但我的应用程序不应该是日历应用程序.它只是我的应用程序中的一个小功能,所以我认为View非常适合我的声明.我只能查看其中的事件,否则它对我来说是完美的.

我读了这个答案并尝试覆盖onDraw方法CalenderView:

@Override
protected void onDraw(Canvas canvas)
{
    p = new Paint();

    p.setColor(Color.RED);
    p.setStrokeWidth(10);

    super.onDraw(canvas);
    canvas.drawRect(0, 0, 100, 100, p);
}
Run Code Online (Sandbox Code Playgroud)

但即使这段代码也不起作用,也没有显示矩形.其他4种方法都是private如此我无法覆盖它们.我有什么其他想法可以解决这个问题吗?我不想使用图书馆,但如果没有其他办法,我正在寻找真正靠近股票的东西CalendarView.或者我可以创建一个仅在我的应用程序中可见但不在其他日历应用程序中可见的日历文件?

android android-calendar calendarview

5
推荐指数
1
解决办法
3万
查看次数

动画Fab按钮交叉标记

在我的Android应用程序中,我希望有一个浮动操作按钮来显示成功状态.我希望有如下图所示的内容:

在此输入图像描述

但我不知道如何将十字架设置为标记动画.有人可以向我解释我是如何做到的吗?可能有图书馆或类似的东西吗?Atm我正在使用设计库中的默认FAB.

android android-animation floating-action-button

5
推荐指数
1
解决办法
790
查看次数

Python 接收 Google Drive 推送通知

从 Drive SDK v3 开始,我们可以在文件发生更改时从 Google Drive接收推送通知。目前我正在使用 Python 开发 Drive 应用程序,我希望收到此类通知。我真的需要一个网络服务器,或者我可以用套接字或类似的东西来实现它吗?

我知道我可以通过轮询changes.list方法来获得更改,但由于 API 调用太多,我想避免这种情况。如果文件已更改,是否有更好的方法来获得通知?

编辑:我捕获了我的网络流量并看到原始的 Windows 版 Google Drive 客户端使用推送通知。因此,在某种程度上,必须可以在桌面应用程序中获得推送通知,但这可能是某种我们无法与当前 API 一起使用的Google 魔法吗?

push-notification google-drive-api

5
推荐指数
1
解决办法
628
查看次数

无需用户交互即可播放波纹动画

我知道我可以设置android:background="?android:attr/selectableItemBackground"为任何视图以从 Android Lollipop 中获得不错的涟漪效果。这对于用户触摸的视图非常有效。但是如果我想在没有用户交互的情况下播放涟漪动画怎么办?

在我的应用程序中,我想通过在此视图上播放涟漪动画来引起对视图的注意。我怎样才能做到这一点?我没有找到获取Animatior涟漪动画对象的方法。那么如何在没有用户交互的情况下从代码中将涟漪动画设置为视图?

android android-animation

5
推荐指数
1
解决办法
732
查看次数

C ++ SOCI查询到自定义对象的向量

目前,我正在编写一个C ++应用程序,其中必须连接到SQLite数据库。我搜索一个图书馆,发现SOCI,我不得不说:我喜欢它。流语法和映射是如此出色。但是我有一个问题:

我有一个Event类,并且为它编写了解析器函数:

template<> struct type_conversion<Event>
{
    typedef values base_type;

    static void from_base(const values& v, indicator /* ind */, Event& event)
    {
        event.m_id = v.get<std::string>("id");
        event.m_title = v.get<std::string>("Title");
        event.m_description = v.get<std::string>("Description");
        event.m_date = v.get<std::tm>("Date");
    }

    static void to_base(const Event& event, values& v, indicator& ind)
    {
        v.set("id", event.m_id);
        v.set("Title", event.m_title);
        v.set("Description", event.m_description);
        v.set("Date", event.m_date);

        ind = i_ok;
    }
};
Run Code Online (Sandbox Code Playgroud)

这对于以下查询非常有用:

sql << "SELECT * FROM Event WHERE id=5", into(event); 
Run Code Online (Sandbox Code Playgroud)

我想将大量事件选择为,std::vector<Event*>但是如果我尝试使用以下方法:

std::vector<Event*> events;
sql << "SELECT * FROM Event", into(events) …
Run Code Online (Sandbox Code Playgroud)

c++ soci

5
推荐指数
1
解决办法
562
查看次数

WIFI变更的广播行动

在我的应用程序中,我必须在设备连接或断开WIFI网络时收到通知.为此,我必须使用a BroadcastReceiver但在阅读了不同的文章和问题后,我有点困惑,我应该使用哪个广播操作.在我看来,我有三个选择:

为了减少资源,我真的只想在设备CONNECTED进入WIFI网络(并且它已经收到IP地址)或设备有DISCONNECTED来自一个时收到通知.我不关心其他州等CONNECTING.

那么您认为我应该使用的最佳广播动作是什么?而且我必须manully过滤事件(因为我receieve更多然后CONNECTEDDISCONNECTED)的onReceive

编辑:正如我在下面的评论中所指出的,我认为SUPPLICANT_CONNECTION_CHANGE_ACTION对我来说是最好的选择,但我的申请从未被解雇或收到.其他人对此广播也有同样的问题,但从未提出真正的解决方案(实际上使用了其他广播).有什么想法吗?

android android-broadcast

5
推荐指数
1
解决办法
1069
查看次数

带有导航组件的 Fragment 中的底部导航

在我的应用程序中,我有一个BottomNavigation来自 Material design的主屏幕。从这些屏幕中,我希望能够启动BottomNavigation隐藏的其他片段,以便新片段填满整个屏幕。然后应该可以通过后退箭头返回。我想你们都可以想象这一点,因为这是今天非常普遍的模式。

为了实现这一点,我想使用带有单个活动设计的导航组件。我的想法是,我的 MainActivity 只包含一个,NavHostFragment而 BottomNavFragment 包含另一个NavHostFragment以及BottomNavigation。由于隐藏的可能性,我无法移动 BottomNavigation到 MainActivity 布局。

这对我来说似乎有点奇怪。我真的需要两个导航图和两个NavHostFragments吗?的NavHostFragment在BottomNavFragment仅具有目的,以显示与相关联的相关片段BottomNavigation。要导航到其他片段,我必须使用NavHostFragment来自活动的 。如果我使用相同的导航图,它会与开始导航相冲突,从而导致无休止的递归。

或者我应该DialogFragments对我想开始的其他片段使用全屏吗?如果是这样,我如何告诉导航组件以全屏对话框的形式启动对话框?谷歌有推荐的方法来做到这一点吗?

android android-fragments android-bottomnav android-architecture-navigation

5
推荐指数
1
解决办法
1174
查看次数

覆盖现有警报

我在我的应用程序中创建了一个alaram,它使用以下代码调用BroadcastReceiver来设置通知:

Intent intent = new Intent(Benachrichtigung.CUSTOM_INTENT);
PendingIntent pendingIntent  = PendingIntent.getBroadcast(this, 0, intent, PendingIntent.FLAG_CANCEL_CURRENT);

Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.HOUR_OF_DAY, 8);
calendar.set(Calendar.MINUTE, 00);
calendar.set(Calendar.SECOND, 00);

alram = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
alram.setRepeating(AlarmManager.RTC_WAKEUP, calendar.getTimeInMillis(), (24 * 60 * 60 * 1000), pendingIntent);
Run Code Online (Sandbox Code Playgroud)

现在我希望用户可以设置通知的时间,所以我必须calendar.set使用新值调用.如何用新的警报覆盖现有警报?

android android-alarms

4
推荐指数
1
解决办法
2008
查看次数

Arrays如何在Java的ByteCode中工作

如果我使用像List,Vector或其他类似的普通类,我得到一个size()函数,它返回所考虑的类的长度,但如果我使用类的数组或默认数据类型,我得到一个公共成员长度,返回当前数组的长度.

int a[] = new int[3];
a.length; // used without ()

Vector<Integer> v = new Vector<Integer>();
v.length(); // used with ()
Run Code Online (Sandbox Code Playgroud)

这是为什么?我的意思是一个数组不是自己的类不是吗?因此,如果它不是类,它就不能有成员可变.我不知道如何在后台处理(ByteCode).我知道内存中的数组存储有指向数组第一个元素的指针,并且索引(i)内存指针被移位到ArrayPointer + i*(size of DataType).

现在您可以说计算机遍历数组的所有元素并计算所有元素,但计算机如何知道数组的结束位置以及下一个数组的起始位置?从哪里来的"成员可变"来自存储大小的数组?

我的意思是我们经常使用数组,但我知道在ByteCode中Java代码背后会发生什么.你能解释一下这是怎么回事吗?

java arrays bytecode

4
推荐指数
1
解决办法
2978
查看次数