我在mapview中有很多注释(带rightCalloutAccessory
按钮).该按钮将执行从此mapview
到a 的segue tableview
.我想传递tableview
一个不同的对象(保存数据),具体取决于单击了哪个标注按钮.
例如:(完全组成)
我能够检测到哪个标注按钮被点击了.
我正在使用prepareForSegue
:将数据obj传递到目标ViewController
.由于我无法进行此调用,因此需要为我需要的数据提供额外的参数,有哪些优雅的方法可以实现相同的效果(动态数据obj)?
任何提示将不胜感激.
我在Apache下有一个Flask服务器,我用它作为应用程序的Rest API,当服务器运行2-3天时它突然停止工作并加注OperationalError: MySQL Connection not available.
错误总是发生在login
方法中,因为它是应用程序打开时首先调用的(但所有方法都遵循相同的模式).
这是login
方法:
@app.route(LOGIN_API_URL, methods=['POST'])
def login():
if (request.method == 'POST'):
cursor = connection.cursor(buffered=True, dictionary=True)
cursor.execute('select * from users where username = %s', (request.form['username'],))
user = cursor.fetchone()
if user is None or user['password'] != str(request.form['password']):
abort(403)
else:
cursor.execute('update users set last_login = (%s) where user_id = %s', str(int(round(time.time() * 1000))), user['user_id'],)
utils.safe_commit(connection, cursor)
return utils.sanitize_response({'status':200, 'message':'Logged in'})
Run Code Online (Sandbox Code Playgroud)
无论safe_commit
与sanitize_response
如下:
def sanitize_response(response, is_array=False):
if response is …
Run Code Online (Sandbox Code Playgroud) 我从24.2.0开始就遇到过这个问题,但现在我正在使用24.2.1并且bug仍在这里,它只能很好地运行<= 24.1.1.
我有一个像这样的锚定FloatingActionButton:
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.design.widget.CoordinatorLayout
android:id="@+id/contact_coordinator_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
tools:context="es.cocode.baseapp.contact.ContactFragment">
<FrameLayout
android:id="@+id/map_fragment_container"
android:layout_width="match_parent"
android:layout_height="198dp"
android:layout_marginBottom="210dp">
<fragment
android:id="@+id/map_fragment"
android:name="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</FrameLayout>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_fullscreen_map"
android:src="@drawable/ic_fullscreen_white_48dp"
android:layout_width="56dp"
android:layout_height="56dp"
android:layout_margin="@dimen/fab_margin"
app:layout_anchor="@id/map_fragment_container"
app:layout_anchorGravity="bottom|end" />
</android.support.design.widget.CoordinatorLayout>
</ScrollView>
Run Code Online (Sandbox Code Playgroud)
它通常像这样工作:
但有时会出现错误,锚点不起作用:
有没有办法解决这个问题,还是应该等到这个bug得到修复并使用24.1.1代替?
android android-support-library floating-action-button android-design-library androiddesignsupport
我得到"你需要使用一个Theme.AppCompat主题(或后代)与设计库"错误每次即使我显然使用AppCompat主题(后代).
依赖关系:
compile 'com.android.support:appcompat-v7:23.3.0'
compile 'com.android.support:design:23.3.0'
compile 'com.android.support:support-v4:23.3.0'
Run Code Online (Sandbox Code Playgroud)
布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/tooltip_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:visibility="gone">
<ImageView
android:id="@+id/tooltip_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"/>
<android.support.design.widget.FloatingActionButton
android:id="@+id/fab_delete_image"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_anchor="@id/tooltip_image"
app:layout_anchorGravity="top|end"/>
</android.support.design.widget.CoordinatorLayout>
Run Code Online (Sandbox Code Playgroud)
主题:
<style name="TranslucentAppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:windowNoTitle">true</item>
<item name="android:windowIsFloating">true</item>
<item name="android:backgroundDimEnabled">false</item>
</style>
Run Code Online (Sandbox Code Playgroud)
表现:
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/TranslucentAppTheme">
<activity android:name=".MainActivity">
(...)
</activity>
Run Code Online (Sandbox Code Playgroud)
我正在给服务中的布局充气:
tooltipContainer = (CoordinatorLayout) LayoutInflater.from(this).inflate(R.layout.tooltip_layout, null);
Run Code Online (Sandbox Code Playgroud) 我已经根据自己和这里发现的所有内容重命名了一个项目,但它的工作原理只有一点点.
它似乎已重命名,但是当您检查设备中的应用信息或卸载它时,旧名称仍然存在.
我怎样才能完全重命名?
旧名称是WifiHome,我想将其重命名为Wifi Sentinel.
的build.gradle:
apply plugin: 'com.android.application'
android {
compileSdkVersion 22
buildToolsVersion "21.1.2"
defaultConfig {
applicationId "org.grenderg.wifisentinel"
minSdkVersion 14
targetSdkVersion 22
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support:appcompat-v7:22.0.+'
compile 'com.android.support:gridlayout-v7:22.0.0'
compile 'com.android.support:palette-v7:22.0.0'
compile 'com.android.support:recyclerview-v7:22.0.0'
compile 'com.android.support:cardview-v7:22.0.0'
compile 'com.android.support:support-v4:22.0.0'
}
Run Code Online (Sandbox Code Playgroud)
AndroidManifest.xml中:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="org.grenderg.wifisentinel" >
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> …
Run Code Online (Sandbox Code Playgroud) 我正在编写一个程序,需要扫描主机中的所有65535个端口,搜索那些打开的端口.这是我到目前为止,它的工作原理,但每次执行脚本时都会产生不同的结果,为什么会这样?
def check_open_port(host, port):
s = socket.socket()
s.settimeout(0.1)
# the SO_REUSEADDR flag tells the kernel to reuse a local
# socket in TIME_WAIT state, without waiting for its natural
# timeout to expire.
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
try:
code = s.connect_ex((host, port))
s.close()
if code == 0:
return True
else:
return False
except socket.error:
return False
def get_open_ports(host, max_port=65535):
open_ports = []
def worker(port):
if check_open_port(host, port):
open_ports.append(port)
pool = ThreadPoolExecutor(max_workers=10000)
[pool.submit(worker, port) for port in range(1, max_port + …
Run Code Online (Sandbox Code Playgroud) 有没有办法在 API 11 上使用类似于“View.canScrollVertically”的东西?
http://developer.android.com/reference/android/view/View.html#canScrollVertically(int)
谢谢。